Merge branch 'type-bookmarks' into 'master'
Type bookmarks See merge request poezio/poezio!138
This commit is contained in:
commit
ce9d59f19e
3 changed files with 9 additions and 7 deletions
|
@ -30,7 +30,7 @@ Adding a remote bookmark:
|
||||||
|
|
||||||
import functools
|
import functools
|
||||||
import logging
|
import logging
|
||||||
from typing import Optional, List, Union
|
from typing import Optional, List, Literal, Union
|
||||||
|
|
||||||
from slixmpp import InvalidJID, JID
|
from slixmpp import InvalidJID, JID
|
||||||
from slixmpp.plugins.xep_0048 import Bookmarks, Conference, URL
|
from slixmpp.plugins.xep_0048 import Bookmarks, Conference, URL
|
||||||
|
@ -39,6 +39,8 @@ from poezio.config import config
|
||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
|
Method = Union[Literal['local'], Literal['remote']]
|
||||||
|
|
||||||
class Bookmark:
|
class Bookmark:
|
||||||
def __init__(self,
|
def __init__(self,
|
||||||
jid: Union[JID, str],
|
jid: Union[JID, str],
|
||||||
|
@ -46,7 +48,7 @@ class Bookmark:
|
||||||
autojoin=False,
|
autojoin=False,
|
||||||
nick: Optional[str] = None,
|
nick: Optional[str] = None,
|
||||||
password: Optional[str] = None,
|
password: Optional[str] = None,
|
||||||
method='local') -> None:
|
method: Method = 'local') -> None:
|
||||||
try:
|
try:
|
||||||
if isinstance(jid, JID):
|
if isinstance(jid, JID):
|
||||||
self._jid = jid
|
self._jid = jid
|
||||||
|
@ -82,7 +84,7 @@ class Bookmark:
|
||||||
return self._method
|
return self._method
|
||||||
|
|
||||||
@method.setter
|
@method.setter
|
||||||
def method(self, value: str):
|
def method(self, value: Method):
|
||||||
if value not in ('local', 'remote'):
|
if value not in ('local', 'remote'):
|
||||||
log.debug('Could not set bookmark storing method: %s', value)
|
log.debug('Could not set bookmark storing method: %s', value)
|
||||||
return
|
return
|
||||||
|
|
|
@ -18,7 +18,7 @@ from poezio import common
|
||||||
from poezio import pep
|
from poezio import pep
|
||||||
from poezio import tabs
|
from poezio import tabs
|
||||||
from poezio import multiuserchat as muc
|
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.common import safeJID
|
||||||
from poezio.config import config, DEFAULT_CONFIG, options as config_opts
|
from poezio.config import config, DEFAULT_CONFIG, options as config_opts
|
||||||
from poezio.contact import Contact, Resource
|
from poezio.contact import Contact, Resource
|
||||||
|
@ -444,7 +444,7 @@ class CommandCore:
|
||||||
|
|
||||||
self._add_bookmark(jid, autojoin, password, 'remote')
|
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
|
nick = None
|
||||||
if not jid:
|
if not jid:
|
||||||
tab = self.core.tabs.current_tab
|
tab = self.core.tabs.current_tab
|
||||||
|
@ -478,7 +478,7 @@ class CommandCore:
|
||||||
self.core.bookmarks.save_remote(self.core.xmpp,
|
self.core.bookmarks.save_remote(self.core.xmpp,
|
||||||
self.core.handler.on_bookmark_result)
|
self.core.handler.on_bookmark_result)
|
||||||
|
|
||||||
def _add_wildcard_bookmarks(self, method):
|
def _add_wildcard_bookmarks(self, method: BookmarkMethod):
|
||||||
new_bookmarks = []
|
new_bookmarks = []
|
||||||
for tab in self.core.get_tabs(tabs.MucTab):
|
for tab in self.core.get_tabs(tabs.MucTab):
|
||||||
bookmark = self.core.bookmarks[tab.jid.bare]
|
bookmark = self.core.bookmarks[tab.jid.bare]
|
||||||
|
|
|
@ -95,7 +95,7 @@ class BookmarksTab(Tab):
|
||||||
|
|
||||||
def send_cb(success):
|
def send_cb(success):
|
||||||
if success:
|
if success:
|
||||||
self.core.information('Bookmarks saved.', 'Info')
|
self.core.information('Bookmarks saved', 'Info')
|
||||||
else:
|
else:
|
||||||
self.core.information('Remote bookmarks not saved.', 'Error')
|
self.core.information('Remote bookmarks not saved.', 'Error')
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue