Verified Commit 91831e79 authored by Maxime Buquet's avatar Maxime Buquet

Bookmarks: type bookmark method (local/remote)

Signed-off-by: Maxime Buquet's avatarMaxime “pep” Buquet <>
parent f670e3ce
......@@ -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]
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