fix bookmarks receiving from pubsub. see #6744

This commit is contained in:
Yann Leboulanger 2011-01-03 20:56:10 +01:00
parent 8ed33a3227
commit 407af3397e
2 changed files with 10 additions and 14 deletions

View file

@ -461,13 +461,7 @@ class PrivateStorageReceivedEvent(nec.NetworkIncomingEvent):
class BookmarksHelper: class BookmarksHelper:
def parse_bookmarks(self): def parse_bookmarks(self):
self.bookmarks = [] self.bookmarks = []
try: confs = self.storage_node.getTags('conference')
storage = self.base_event.item_node.getTag('storage',
namespace=xmpp.NS_BOOKMARKS)
except AttributeError:
storage = self.base_event.storage_node
confs = storage.getTags('conference')
for conf in confs: for conf in confs:
autojoin_val = conf.getAttr('autojoin') autojoin_val = conf.getAttr('autojoin')
if autojoin_val is None: # not there (it's optional) if autojoin_val is None: # not there (it's optional)
@ -503,7 +497,8 @@ BookmarksHelper):
def generate(self): def generate(self):
self.conn = self.base_event.conn self.conn = self.base_event.conn
if self.base_event.namespace != 'storage:bookmarks': self.storage_node = self.base_event.storage_node
if self.base_event.namespace != xmpp.NS_BOOKMARKS:
return return
self.parse_bookmarks() self.parse_bookmarks()
return True return True
@ -524,7 +519,7 @@ class PrivateStorageRosternotesReceivedEvent(nec.NetworkIncomingEvent):
def generate(self): def generate(self):
self.conn = self.base_event.conn self.conn = self.base_event.conn
if self.base_event.namespace != 'storage:rosternotes': if self.base_event.namespace != xmpp.NS_ROSTERNOTES:
return return
notes = self.base_event.storage_node.getTags('note') notes = self.base_event.storage_node.getTags('note')
self.annotations = {} self.annotations = {}
@ -570,11 +565,11 @@ class PubsubBookmarksReceivedEvent(nec.NetworkIncomingEvent, BookmarksHelper):
def generate(self): def generate(self):
self.conn = self.base_event.conn self.conn = self.base_event.conn
storage = self.base_event.item_node.getTag('storage') self.storage_node = self.base_event.item_node.getTag('storage')
if not storage: if not self.storage_node:
return return
ns = storage.getNamespace() ns = self.storage_node.getNamespace()
if ns != 'storage:bookmarks': if ns != xmpp.NS_BOOKMARKS:
return return
self.parse_bookmarks() self.parse_bookmarks()
return True return True

View file

@ -38,7 +38,7 @@ NS_AUTH ='jabber:iq:auth'
NS_AVATAR ='http://www.xmpp.org/extensions/xep-0084.html#ns-metadata' NS_AVATAR ='http://www.xmpp.org/extensions/xep-0084.html#ns-metadata'
NS_BIND ='urn:ietf:params:xml:ns:xmpp-bind' NS_BIND ='urn:ietf:params:xml:ns:xmpp-bind'
NS_BOB ='urn:xmpp:bob' #XEP-0231 NS_BOB ='urn:xmpp:bob' #XEP-0231
NS_BOOKMARKS ='storage:bookmarks' #XEP-0048 NS_BOOKMARKS ='storage:bookmarks' #XEP-0048
NS_BROWSE ='jabber:iq:browse' NS_BROWSE ='jabber:iq:browse'
NS_BROWSING ='http://jabber.org/protocol/browsing' # XEP-0195 NS_BROWSING ='http://jabber.org/protocol/browsing' # XEP-0195
NS_BYTESTREAM ='http://jabber.org/protocol/bytestreams' # JEP-0065 NS_BYTESTREAM ='http://jabber.org/protocol/bytestreams' # JEP-0065
@ -106,6 +106,7 @@ NS_PUBSUB_PUBLISH_OPTIONS = NS_PUBSUB + '#publish-options'
NS_PUBSUB_OWNER ='http://jabber.org/protocol/pubsub#owner' # JEP-0060 NS_PUBSUB_OWNER ='http://jabber.org/protocol/pubsub#owner' # JEP-0060
NS_REGISTER ='jabber:iq:register' NS_REGISTER ='jabber:iq:register'
NS_ROSTER ='jabber:iq:roster' NS_ROSTER ='jabber:iq:roster'
NS_ROSTERNOTES ='storage:rosternotes'
NS_ROSTERX ='http://jabber.org/protocol/rosterx' # XEP-0144 NS_ROSTERX ='http://jabber.org/protocol/rosterx' # XEP-0144
NS_ROSTER_VER ='urn:xmpp:features:rosterver' # XEP-0273 NS_ROSTER_VER ='urn:xmpp:features:rosterver' # XEP-0273
NS_RPC ='jabber:iq:rpc' # XEP-0009 NS_RPC ='jabber:iq:rpc' # XEP-0009