X-Git-Url: https://code.delx.au/pymsnt/blobdiff_plain/82f05a91e1d7616a1868268c908b65fe7fa4a8d5..38edf008bd005c4fc3a8cecba0379640f8bea4f6:/src/contact.py diff --git a/src/contact.py b/src/contact.py index 30da03e..088f1c0 100644 --- a/src/contact.py +++ b/src/contact.py @@ -1,16 +1,13 @@ # Copyright 2005 James Bunton # Licensed for distribution under the GPL version 2, check COPYING for details -import utils +from debug import LogEvent, INFO, WARN, ERROR + from twisted.internet import reactor from tlib.xmlw import Element -from debug import LogEvent, INFO, WARN, ERROR + import disco import legacy -import jabw -import config -import lang -import sha class Contact: @@ -35,9 +32,9 @@ class Contact: def syncContactGrantedAuth(self): """ Since last using the transport the user has been granted authorisation by this contact. Call this to synchronise the user's Jabber list with their legacy list after logon. """ - if(self.sub == "none"): + if self.sub == "none": self.sub = "to" - elif(self.sub == "from"): + elif self.sub == "from": self.sub = "both" else: return @@ -45,9 +42,9 @@ class Contact: def syncContactRemovedAuth(self): """ Since last using the transport the user has been blocked by this contact. Call this to synchronise the user's Jabber list with their legacy list after logon. """ - if(self.sub == "to"): + if self.sub == "to": self.sub = "none" - elif(self.sub == "both"): + elif self.sub == "both": self.sub = "from" else: return @@ -55,9 +52,9 @@ class Contact: def syncUserGrantedAuth(self): """ Since last using the transport the user has granted authorisation to this contact. Call this to synchronise the user's Jabber list with their legacy list after logon. """ - if(self.sub == "none"): + if self.sub == "none": self.sub = "from" - elif(self.sub == "to"): + elif self.sub == "to": self.sub = "both" else: return @@ -65,9 +62,9 @@ class Contact: def syncUserRemovedAuth(self): """ Since last using the transport the user has removed this contact's authorisation. Call this to synchronise the user's Jabber list with their legacy list after logon. """ - if(self.sub == "from"): + if self.sub == "from": self.sub = "none" - elif(self.sub == "both"): + elif self.sub == "both": self.sub = "to" else: return @@ -105,18 +102,18 @@ class Contact: def contactGrantsAuth(self): """ Live roster event """ - if(self.sub == "none"): + if self.sub == "none": self.sub = "to" - elif(self.sub == "from"): + elif self.sub == "from": self.sub = "both" self.sendSub("subscribed") self.sendPresence() def contactRemovesAuth(self): """ Live roster event """ - if(self.sub == "to"): + if self.sub == "to": self.sub = "none" - elif(self.sub == "both"): + elif self.sub == "both": self.sub = "from" self.sendSub("unsubscribed") @@ -152,37 +149,39 @@ class Contact: self.sub = "none" self.contactList.legacyList.removeContact(self.jid) - elif(subtype == "unsubscribed"): - if(self.sub == "both"): + elif subtype == "unsubscribed": + if self.sub == "both": self.sub = "to" - if(self.sub == "from"): + if self.sub == "from": self.sub = "none" self.contactList.legacyList.deauthContact(self.jid) def updateNickname(self, nickname, push=True): - if(self.nickname != nickname): + if self.nickname != nickname: self.nickname = nickname - if(push): self.sendPresence() + if push: self.sendPresence() def updatePresence(self, show, status, ptype, force=False): updateFlag = (self.show != show or self.status != status or self.ptype != ptype or force) self.show = show self.status = status self.ptype = ptype - if(updateFlag): + if updateFlag: self.sendPresence() def updateAvatar(self, avatar=None, push=True): - if(self.avatar == avatar): return + if self.avatar == avatar: + return self.avatar = avatar - if(push): self.sendPresence() + if push: + self.sendPresence() def sendSub(self, ptype): - self.contactList.session.sendPresence(to=self.contactList.session.jabberID, fro=self.jid, ptype=ptype) + self.contactList.session.sendPresence(to=self.contactList.session.jabberID, fro=self.jid + "/" + legacy.id, ptype=ptype) def sendPresence(self, tojid=""): avatarHash = "" - if(self.avatar): + if self.avatar: avatarHash = self.avatar.getImageHash() caps = Element((None, "c")) caps.attributes["xmlns"] = disco.CAPS @@ -190,7 +189,7 @@ class Contact: caps.attributes["ver"] = legacy.version if not tojid: tojid=self.contactList.session.jabberID - self.contactList.session.sendPresence(to=tojid, fro=self.jid, ptype=self.ptype, show=self.show, status=self.status, avatarHash=avatarHash, nickname=self.nickname, payload=[caps]) + self.contactList.session.sendPresence(to=tojid, fro=self.jid + "/" + legacy.id, ptype=self.ptype, show=self.show, status=self.status, avatarHash=avatarHash, nickname=self.nickname, payload=[caps]) @@ -213,7 +212,7 @@ class ContactList: def resendLists(self, tojid=""): for jid in self.contacts: - if(self.contacts[jid].status != "unavailable"): + if self.contacts[jid].ptype != "unavailable" : self.contacts[jid].sendPresence(tojid) LogEvent(INFO, self.session.jabberID) @@ -228,12 +227,12 @@ class ContactList: def getContact(self, jid): """ Finds the contact. If one doesn't exist then a new one is created, with sub set to "none" """ - if(not self.contacts.has_key(jid)): + if not self.contacts.has_key(jid): self.contacts[jid] = Contact(jid, "none", self) return self.contacts[jid] def findContact(self, jid): - if(self.contacts.has_key(jid)): + if self.contacts.has_key(jid): return self.contacts[jid] return None