# 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
-url = "http://msn-transport.jabberstudio.org"
-version = "0.11.2-dev" # 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
def reloadConfig():
msn.MSNConnection.GETALLAVATARS = config.getAllAvatars
+ msn.MSNConnection.BINDADDRESS = config.host
msn.setDebug(config._debugLevel >= 4)
def isGroupJID(jid):
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
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):
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)