]> code.delx.au - pymsnt/blobdiff - src/legacy/glue.py
Updated rev and url
[pymsnt] / src / legacy / glue.py
index b6947f395e43b7fe87e88a6f215d1567599f5135..cc3b30c36d340340f70c76cdcf94d2125a1c3f63 100644 (file)
@@ -2,11 +2,11 @@
 # Licensed for distribution under the GPL version 2, check COPYING for details
 
 import os.path
-import utils
 from twisted.internet import task, error
-from tlib.xmlw import Element
-from tlib import msn
+from twisted.words.xish.domish import Element
+
 from debug import LogEvent, INFO, WARN, ERROR
+from legacy import msn
 import disco
 import groupchat
 import ft
@@ -17,8 +17,8 @@ import lang
 
 
 
-url = "http://msn-transport.jabberstudio.org"
-version = "0.11.1"       # The transport version
+url = "http://delx.net.au/projects/pymsnt"
+version = "0.11.3"       # The transport version
 mangle = True            # XDB '@' -> '%' mangling
 id = "msn"               # The transport identifier
 
@@ -36,6 +36,7 @@ defaultAvatar = avatar.AvatarCache().setAvatar(defaultAvatarData)
 
 def reloadConfig():
        msn.MSNConnection.GETALLAVATARS = config.getAllAvatars
+       msn.MSNConnection.BINDADDRESS = config.host
        msn.setDebug(config._debugLevel >= 4)
 
 def isGroupJID(jid):
@@ -336,9 +337,9 @@ class LegacyConnection(msn.MSNConnection):
                global defaultJabberAvatarData
 
                if av:
-                       msn.MSNConnection.changeAvatar(self, av.getImageData())
+                       msn.MSNConnection.changeAvatar(self, av.getImageData)
                else:
-                       msn.MSNConnection.changeAvatar(self, defaultJabberAvatarData)
+                       msn.MSNConnection.changeAvatar(self, lambda: defaultJabberAvatarData)
        
        def sendTypingNotifications(self):
                if not self.session: return
@@ -405,13 +406,13 @@ class LegacyConnection(msn.MSNConnection):
        
        def loggedIn(self):
                LogEvent(INFO, self.jabberID)
-               self.session.ready = True
        
        def listSynchronized(self):
                LogEvent(INFO, self.jabberID)
                self.session.sendPresence(to=self.jabberID, fro=config.jid)
                self.legacyList.syncJabberLegacyLists()
                self.listSynced = True
+               self.session.ready = True
                #self.legacyList.flushSubscriptionBuffer()
        
        def ourStatusChanged(self, statusCode, screenName, personal):
@@ -483,8 +484,8 @@ class LegacyConnection(msn.MSNConnection):
                if not (c and msnContact): return
 
                show, ptype = state2presence(msnContact.status)
-               status = msnContact.personal.decode("utf-8")
-               screenName = msnContact.screenName.decode("utf-8")
+               status = msnContact.personal.decode("utf-8", "replace")
+               screenName = msnContact.screenName.decode("utf-8", "replace")
 
                c.updateNickname(screenName, push=False)
                c.updatePresence(show, status, ptype, force=True)