]> code.delx.au - pymsnt/commitdiff
Google Talk fixes
authorjamesbunton <jamesbunton@55fbd22a-6204-0410-b2f0-b6c764c7e90a>
Sun, 16 Apr 2006 13:42:57 +0000 (13:42 +0000)
committerjamesbunton <jamesbunton@55fbd22a-6204-0410-b2f0-b6c764c7e90a>
Sun, 16 Apr 2006 13:42:57 +0000 (13:42 +0000)
* defaultUri->uri
* No whitespace in base64 encoded avatars
* Use a fake resource when requesting an avatar from a user

git-svn-id: http://delx.cjb.net/svn/pymsnt/trunk@139 55fbd22a-6204-0410-b2f0-b6c764c7e90a

committer: jamesbunton <jamesbunton@55fbd22a-6204-0410-b2f0-b6c764c7e90a>

src/avatar.py
src/disco.py
src/jabw.py
src/misciq.py
src/session.py

index ab8b43f38b7536bc1c280c2dd87793407c97f143..d8d1a4c4b978c51c6e12092b0477276987a7c2b3 100644 (file)
@@ -51,14 +51,14 @@ class Avatar:
                cType = photo.addElement("TYPE")
                cType.addContent("image/png")
                binval = photo.addElement("BINVAL")
-               binval.addContent(base64.encodestring(self.getImageData()))
+               binval.addContent(base64.encodestring(self.getImageData()).replace("\n", ""))
                return photo
 
        def makeDataElement(self):
                """ Returns an XML Element that can be put into a jabber:x:avatar IQ stanza. """
                data = Element((None, "data"))
                data["mimetype"] = "image/png"
-               data.addContent(base64.encodestring(self.getImageData()))
+               data.addContent(base64.encodestring(self.getImageData()).replace("\n", ""))
                return data
 
        def __eq__(self, other):
index 53654ad2ab1387ab0a1fcc716d6efa1cb4117400..9e5c7471dff91a43ce69182dfa141f44e29594de 100644 (file)
@@ -130,7 +130,7 @@ class ServerDiscovery:
                LogEvent(INFO, "", "Looking for handler")
 
                for query in el.elements():
-                       xmlns = query.defaultUri
+                       xmlns = query.uri
                        node = query.getAttribute("node")
                        
                        if xmlns.startswith(DISCO) and node:
index 755b49a716540a11506f8176429c7b719c1c9774..95ba8693ec2898865eb02d8457d49dad2df5a5db 100644 (file)
@@ -267,7 +267,7 @@ class JabberConnection:
                                        show = child.__str__()
                                elif(child.name == "priority"):
                                        priority = child.__str__()
-                               elif(child.defaultUri == disco.XVCARDUPDATE):
+                               elif(child.uri == disco.XVCARDUPDATE):
                                        avatarHash = " "
                                        for child2 in child.elements():
                                                if(child2.name == "photo"):
index c4fc993ed4b11ed2558b323d399c5ac459cd870c..66f87b95903d9849424b1f9f2fa5db3d99eb2dce 100644 (file)
@@ -138,7 +138,7 @@ class AdHocCommands:
 
                node = None
                for child in el.elements():
-                       xmlns = child.defaultUri
+                       xmlns = child.uri
                        node = child.getAttribute("node")
 
                        handled = False
@@ -552,7 +552,7 @@ class Socks5FileTransfer:
                if not (si and si.getAttribute("profile") == disco.FT):
                        return errOut()
                file = si.file
-               if not (file and file.defaultUri == disco.FT):
+               if not (file and file.uri == disco.FT):
                        return errOut()
                try:
                        sid = si["id"]
@@ -565,10 +565,10 @@ class Socks5FileTransfer:
 
                # Check that we can use socks5 bytestreams
                feature = si.feature
-               if not (feature and feature.defaultUri == disco.FEATURE_NEG):
+               if not (feature and feature.uri == disco.FEATURE_NEG):
                        return errOut()
                x = feature.x
-               if not (x and x.defaultUri == disco.XDATA):
+               if not (x and x.uri == disco.XDATA):
                        return errOut()
                field = x.field
                if not (field and field.getAttribute("var") == "stream-method"):
index c876fe7a3658721ec60287ba8128eb87fd7b0799..847309dfee628f49b5940d3559b073210a8b3f09 100644 (file)
@@ -111,7 +111,7 @@ class Session(jabw.JabberConnection):
                        LogEvent(INFO, self.jabberID)
                        vCard = None
                        for e in el.elements():
-                               if e.name == "vCard" and e.defaultUri == disco.VCARDTEMP:
+                               if e.name == "vCard" and e.uri == disco.VCARDTEMP:
                                        vCard = e
                                        break
                        else:
@@ -143,7 +143,7 @@ class Session(jabw.JabberConnection):
                                self.legacycon.updateAvatar()
 
                LogEvent(INFO, self.jabberID, "Fetching avatar.")
-               d = self.sendVCardRequest(to=self.jabberID, fro=config.jid)
+               d = self.sendVCardRequest(to=self.jabberID, fro=config.jid + "/msn")
                d.addCallback(vCardReceived)
                d.addErrback(errback)