Example #1
0
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)
Example #2
0
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
Example #3
0
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
Example #4
0
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)
Example #5
0
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)
Example #6
0
    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
Example #7
0
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)
Example #8
0
def test_attr():

    b = Bookmark.from_dict(d)
    assert b.url == d['url']

    assert b._data == unpack(d)
Example #9
0
def test_to_dict():

    b = Bookmark.from_dict(d)
    assert b.to_dict() == d

    print(b.to_dict())
Example #10
0
 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)