]> code.delx.au - pymsnt/blobdiff - src/misciq.py
New resources don't get spammed with presence from offline contacts.
[pymsnt] / src / misciq.py
index a565755251c1b3bc86e33d5b0ad5b7ed86f582f1..c4fc993ed4b11ed2558b323d399c5ac459cd870c 100644 (file)
@@ -220,8 +220,9 @@ class VCardFactory:
                fro = el.getAttribute("from")
                froj = jid.intern(fro)
                to = el.getAttribute("to")
+               toj = jid.intern(to)
                ID = el.getAttribute("id")
-               if(itype != "get" and itype != "error"):
+               if itype != "get" and itype != "error":
                        self.pytrans.discovery.sendIqError(to=fro, fro=config.jid, ID=ID, xmlns="vcard-temp", etype="cancel", condition="feature-not-implemented")
                        return
 
@@ -229,17 +230,17 @@ class VCardFactory:
 
                toGateway = not (to.find('@') > 0)
 
-               if(not toGateway):
-                       if(not self.pytrans.sessions.has_key(froj.userhost())):
+               if not toGateway:
+                       if not self.pytrans.sessions.has_key(froj.userhost()):
                                self.pytrans.discovery.sendIqError(to=fro, fro=config.jid, ID=ID, xmlns="vcard-temp", etype="auth", condition="not-authorized")
                                return
                        s = self.pytrans.sessions[froj.userhost()]
-                       if(not s.ready):
+                       if not s.ready:
                                self.pytrans.discovery.sendIqError(to=fro, fro=config.jid, ID=ID, xmlns="vcard-temp", etype="auth", condition="not-authorized")
                                return
                
-                       c = s.contactList.findContact(to)
-                       if(not c):
+                       c = s.contactList.findContact(toj.userhost())
+                       if not c:
                                self.pytrans.discovery.sendIqError(to=fro, fro=config.jid, ID=ID, xmlns="vcard-temp", etype="cancel", condition="recipient-unavailable")
                                return
 
@@ -252,18 +253,18 @@ class VCardFactory:
                iq.attributes["type"] = "result"
                vCard = iq.addElement("vCard")
                vCard.attributes["xmlns"] = "vcard-temp"
-               if(toGateway):
+               if toGateway:
                        FN = vCard.addElement("FN")
-                       FN.addContent(legacy.name)
+                       FN.addContent(config.discoName)
                        DESC = vCard.addElement("DESC")
-                       DESC.addContent(legacy.name)
+                       DESC.addContent(config.discoName)
                        URL = vCard.addElement("URL")
                        URL.addContent(legacy.url)
                else:
-                       if(c.nickname):
+                       if c.nickname:
                                NICKNAME = vCard.addElement("NICKNAME")
                                NICKNAME.addContent(c.nickname)
-                       if(c.avatar):
+                       if c.avatar:
                                PHOTO = c.avatar.makePhotoElement()
                                vCard.addChild(PHOTO)
 
@@ -280,6 +281,7 @@ class IqAvatarFactory:
                fro = el.getAttribute("from")
                froj = jid.intern(fro)
                to = el.getAttribute("to")
+               toj = jid.intern(to)
                ID = el.getAttribute("id")
 
                if(itype != "get" and itype != "error"):
@@ -296,7 +298,7 @@ class IqAvatarFactory:
                        self.pytrans.discovery.sendIqError(to=fro, fro=config.jid, ID=ID, xmlns=disco.IQAVATAR, etype="auth", condition="not-authorized")
                        return
 
-               c = s.contactList.findContact(to)
+               c = s.contactList.findContact(toj.userhost())
                if(not c):
                        self.pytrans.discovery.sendIqError(to=fro, fro=config.jid, ID=ID, xmlns=disco.IQAVATAR, etype="cancel", condition="recipient-unavailable")
                        return
@@ -447,7 +449,7 @@ class VersionTeller:
                query = iq.addElement("query")
                query.attributes["xmlns"] = disco.IQVERSION
                name = query.addElement("name")
-               name.addContent(legacy.name)
+               name.addContent(config.discoName)
                version = query.addElement("version")
                version.addContent(legacy.version)
                os = query.addElement("os")
@@ -616,7 +618,7 @@ class Socks5FileTransfer:
                froj = jid.intern(el.getAttribute("from"))
 
                query = el.query
-               if not (query and query.getAttribute("mode") == "tcp"):
+               if not (query and query.getAttribute("mode", "tcp") == "tcp"):
                        return errOut()
                sid = query.getAttribute("sid")
                consumer = self.sessions.pop((froj.full(), sid), None)