From fa934b845cb155623bb2e127f6f80ee9a2cc289e Mon Sep 17 00:00:00 2001 From: jamesbunton Date: Sun, 16 Apr 2006 13:42:57 +0000 Subject: [PATCH] Google Talk fixes * 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 --- src/avatar.py | 4 ++-- src/disco.py | 2 +- src/jabw.py | 2 +- src/misciq.py | 8 ++++---- src/session.py | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/avatar.py b/src/avatar.py index ab8b43f..d8d1a4c 100644 --- a/src/avatar.py +++ b/src/avatar.py @@ -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): diff --git a/src/disco.py b/src/disco.py index 53654ad..9e5c747 100644 --- a/src/disco.py +++ b/src/disco.py @@ -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: diff --git a/src/jabw.py b/src/jabw.py index 755b49a..95ba869 100644 --- a/src/jabw.py +++ b/src/jabw.py @@ -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"): diff --git a/src/misciq.py b/src/misciq.py index c4fc993..66f87b9 100644 --- a/src/misciq.py +++ b/src/misciq.py @@ -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"): diff --git a/src/session.py b/src/session.py index c876fe7..847309d 100644 --- a/src/session.py +++ b/src/session.py @@ -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) -- 2.39.2