Bookmarks: type bookmark method (local/remote)

Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
This commit is contained in:
Maxime “pep” Buquet 2020-05-31 01:20:41 +02:00
parent f670e3ce3b
commit 91831e7903
Signed by: pep
GPG key ID: DEDA74AEECA9D0F2
2 changed files with 8 additions and 6 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]