Commit ce9d59f1 authored by Maxime Buquet's avatar Maxime Buquet

Merge branch 'type-bookmarks' into 'master'

Type bookmarks

See merge request !138
parents ab9108e0 21c45ff7
......@@ -30,7 +30,7 @@ Adding a remote bookmark:
import functools
import logging
from typing import Optional, List, Union
from typing import Optional, List, Literal, Union
from slixmpp import InvalidJID, JID
from slixmpp.plugins.xep_0048 import Bookmarks, Conference, URL
......@@ -39,6 +39,8 @@ from poezio.config import config
log = logging.getLogger(__name__)
Method = Union[Literal['local'], Literal['remote']]
class Bookmark:
def __init__(self,
jid: Union[JID, str],
......@@ -46,7 +48,7 @@ class Bookmark:
nick: Optional[str] = None,
password: Optional[str] = None,
method='local') -> None:
method: Method = 'local') -> None:
if isinstance(jid, JID):
self._jid = jid
......@@ -82,7 +84,7 @@ class Bookmark:
return self._method
def method(self, value: str):
def method(self, value: Method):
if value not in ('local', 'remote'):
log.debug('Could not set bookmark storing method: %s', value)
......@@ -18,7 +18,7 @@ from poezio import common
from poezio import pep
from poezio import tabs
from poezio import multiuserchat as muc
from poezio.bookmarks import Bookmark
from poezio.bookmarks import Bookmark, Method as BookmarkMethod
from poezio.common import safeJID
from poezio.config import config, DEFAULT_CONFIG, options as config_opts
from import Contact, Resource
......@@ -444,7 +444,7 @@ class CommandCore:
self._add_bookmark(jid, autojoin, password, 'remote')
def _add_bookmark(self, jid, autojoin, password, method):
def _add_bookmark(self, jid: str, autojoin: bool, password: str, method: BookmarkMethod) -> None:
nick = None
if not jid:
tab = self.core.tabs.current_tab
......@@ -478,7 +478,7 @@ class CommandCore:
def _add_wildcard_bookmarks(self, method):
def _add_wildcard_bookmarks(self, method: BookmarkMethod):
new_bookmarks = []
for tab in self.core.get_tabs(tabs.MucTab):
bookmark = self.core.bookmarks[tab.jid.bare]
......@@ -95,7 +95,7 @@ class BookmarksTab(Tab):
def send_cb(success):
if success:
self.core.information('Bookmarks saved.', 'Info')
self.core.information('Bookmarks saved', 'Info')
self.core.information('Remote bookmarks not saved.', 'Error')
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment