Merge branch 'type-bookmarks' into 'master'

Type bookmarks

See merge request poezio/poezio!138
This commit is contained in:
Maxime Buquet 2020-05-31 01:35:26 +02:00
commit ce9d59f19e
3 changed files with 9 additions and 7 deletions

View file

@ -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:
autojoin=False,
nick: Optional[str] = None,
password: Optional[str] = None,
method='local') -> None:
method: Method = 'local') -> None:
try:
if isinstance(jid, JID):
self._jid = jid
@ -82,7 +84,7 @@ class Bookmark:
return self._method
@method.setter
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)
return

View file

@ -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 poezio.contact 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:
self.core.bookmarks.save_remote(self.core.xmpp,
self.core.handler.on_bookmark_result)
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]

View file

@ -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')
else:
self.core.information('Remote bookmarks not saved.', 'Error')