# 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-dev" # The transport version
+version = "0.11.2-dev" # The transport version
mangle = True # XDB '@' -> '%' mangling
id = "msn" # The transport identifier
def reloadConfig():
msn.MSNConnection.GETALLAVATARS = config.getAllAvatars
+ msn.setDebug(config._debugLevel >= 4)
def isGroupJID(jid):
""" Returns True if the JID passed is a valid groupchat JID (for MSN, does not contain '%') """
else:
if msnid.startswith("tel:+"):
msnid = msnid.replace("tel:+", "") + "%tel"
- jid = msnid.replace('@', '%') + "@" + config.jid + (withResource and "/msn" or "")
+ jid = msnid.replace('@', '%') + "@" + config.jid
msn2jid_cache[msnid] = jid
jid2msn_cache[jid] = msnid
- return jid
+ return msn2jid(msnid, withResource)
# Marks this as the function to be used in jabber:iq:gateway (Service ID Translation)
def translateAccount(msnid):
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):
def __init__(self, session):
self.jabberID = session.jabberID
self.session = session
- self.subscriptionBuffer = []
def removeMe(self):
- self.subscriptionBuffer = None
self.session = None
def addContact(self, jid):