def _add_bookmark(self, jid, autojoin, password, method): nick = None if not jid: tab = self.current_tab() roomname = tab.name if tab.joined and tab.own_nick != self.own_nick: nick = tab.own_nick if password is None and tab.password is not None: password = tab.password elif jid == '*': return _add_wildcard_bookmarks(self, method) else: info = safeJID(jid) roomname, nick = info.bare, info.resource if roomname == '': if not isinstance(self.current_tab(), tabs.MucTab): return roomname = self.current_tab().name bookmark = self.bookmarks[roomname] if bookmark is None: bookmark = Bookmark(roomname) self.bookmarks.append(bookmark) bookmark.method = method bookmark.autojoin = autojoin if nick: bookmark.nick = nick if password: bookmark.password = password def callback(iq): if iq["type"] != "error": self.information('Bookmark added.', 'Info') else: self.information("Could not add the bookmarks.", "Info") self.bookmarks.save_local() self.bookmarks.save_remote(self.xmpp, callback)
def test_from_dict(): b = Bookmark.from_dict(d) assert b._data['tags'] == d['tags'] assert b._data['url'] == d['url'] assert b._data['notes'] == None
def test_load(): """ load from db """ data = yaml.load(open(dataFile, 'r')) # create classes B = [Bookmark.from_dict(d) for d in data] return B
def _add_wildcard_bookmarks(self, method): new_bookmarks = [] for tab in self.get_tabs(tabs.MucTab): bookmark = self.bookmarks[tab.name] if not bookmark: bookmark = Bookmark(tab.name, autojoin=True, method=method) new_bookmarks.append(bookmark) else: bookmark.method = method new_bookmarks.append(bookmark) self.bookmarks.remove(bookmark) new_bookmarks.extend(self.bookmarks.bookmarks) self.bookmarks.set(new_bookmarks) def _cb(iq): if iq["type"] != "error": self.information("Bookmarks saved.", "Info") else: self.information("Could not save the remote bookmarks.", "Info") self.bookmarks.save_local() self.bookmarks.save_remote(self.xmpp, _cb)
def appendBookmark(self, bookmark, guid=None ): if isinstance( bookmark, BookmarkName ): if guid is None: guid = uuid.uuid4() bookmark = Bookmark( bookmark, guid ) assert isinstance( bookmark, Bookmark ) #block doubles if any( x.bookmark == bookmark.bookmark for x in self.bookmarks ): return self self.bookmarks.append( bookmark ) return self
def test_attr(): b = Bookmark.from_dict(d) assert b.url == d['url'] assert b._data == unpack(d)
def test_to_dict(): b = Bookmark.from_dict(d) assert b.to_dict() == d print(b.to_dict())
def add_bookmark(self): new_bookmark = Bookmark(safeJID('[email protected]/nick'), method='local') self.new_bookmarks.append(new_bookmark) self.bookmarks_win.add_bookmark(new_bookmark)