diff --git a/src/common/connection.py b/src/common/connection.py index 17137d2dde9646c059a5783524dcf8917afdcd95..617d022daeee6d213cb98a48d4de24fa48ce1a82 100644 --- a/src/common/connection.py +++ b/src/common/connection.py @@ -137,7 +137,6 @@ class Connection: self.gpg = None self.vcard_sha = None self.status = '' - self.myVCardID = [] self.new_account_info = None self.bookmarks = [] self.on_purpose = False @@ -193,14 +192,15 @@ class Connection: """Called when we receive a vCard Parse the vCard and send it to plugins""" frm_iq = vc.getFrom() + name = gajim.config.get_per('accounts', self.name, 'name') + hostname = gajim.config.get_per('accounts', self.name, 'hostname') + our_jid = name + '@' + hostname resource = '' if frm_iq: frm = frm_iq.getStripped() resource = frm_iq.getResource() else: - name = gajim.config.get_per('accounts', self.name, 'name') - hostname = gajim.config.get_per('accounts', self.name, 'hostname') - frm = name + '@' + hostname + frm = our_jid vcard = {'jid': frm, 'resource': resource} if not vc.getTag('vCard'): return @@ -221,8 +221,7 @@ class Connection: vcard[name] = {} for c in info.getChildren(): vcard[name][c.getName()] = c.getData() - if int(vc.getID()) in self.myVCardID: - self.myVCardID.remove(int(vc.getID())) + if frm == our_jid: if vcard.has_key('PHOTO') and type(vcard['PHOTO']) == type({}) and \ vcard['PHOTO'].has_key('BINVAL'): photo = vcard['PHOTO']['BINVAL'] @@ -1339,8 +1338,7 @@ class Connection: self.dispatch('STATUS', 'invisible') if initial: #ask our VCard - iq = self.request_vcard(None) - self.myVCardID.append(iq.getID()) + self.request_vcard(None) #Get bookmarks from private namespace self.get_bookmarks() @@ -1395,8 +1393,7 @@ class Connection: self.connection.send(p) self.dispatch('STATUS', show) #ask our VCard - iq = self.request_vcard(None) - self.myVCardID.append(iq.getID()) + self.request_vcard(None) #Get bookmarks from private namespace self.get_bookmarks() @@ -1630,10 +1627,7 @@ class Connection: if jid: iq.setTo(jid) iq.setTag(common.xmpp.NS_VCARD + ' vCard') - id = self.connection.getAnID() - iq.setID(id) self.to_be_sent.append(iq) - return iq #('VCARD', {entry1: data, entry2: {entry21: data, ...}, ...}) def send_vcard(self, vcard): diff --git a/src/common/xmpp/dispatcher.py b/src/common/xmpp/dispatcher.py index 361879c13d84bbc94b631abc2f329a3ab8adcbdc..0643ef10cf21def63767e114f25f6fffdb803ce9 100644 --- a/src/common/xmpp/dispatcher.py +++ b/src/common/xmpp/dispatcher.py @@ -43,12 +43,7 @@ class Dispatcher(PlugIn): self.RegisterEventHandler,self.UnregisterCycleHandler,self.RegisterCycleHandler,\ self.RegisterHandlerOnce,self.UnregisterHandler,self.RegisterProtocol,\ self.WaitForResponse,self.SendAndWaitForResponse,self.send,self.disconnect,\ - self.SendAndCallForResponse, self.getAnID] - - def getAnID(self): - global ID - ID+=1 - return ID + self.SendAndCallForResponse, ] def dumpHandlers(self): """ Return set of user-registered callbacks in it's internal format.