if not statusCode: statusCode = msn.STATUS_ONLINE
if not personal: personal = ""
if self.notificationClient:
- changeCount = [0] # Hack
+ changeCount = [0] # Hack for Python's limited scope :(
def cb(ignored=None):
changeCount[0] += 1
if changeCount[0] == 3:
self.ourStatusChanged(statusCode, screenName, personal)
+ def errcb(ignored=None):
+ pass # FIXME, should we do something here?
LogEvent(INFO, self.ident)
- self.notificationClient.changeStatus(statusCode.encode("utf-8")).addCallback(cb)
- self.notificationClient.changeScreenName(screenName.encode("utf-8")).addCallback(cb)
- self.notificationClient.changePersonalMessage(personal.encode("utf-8")).addCallback(cb)
+ self.notificationClient.changeStatus(statusCode.encode("utf-8")).addCallbacks(cb, errcb)
+ self.notificationClient.changeScreenName(screenName.encode("utf-8")).addCallbacks(cb, errcb)
+ self.notificationClient.changePersonalMessage(personal.encode("utf-8")).addCallbacks(cb, errcb)
# Remember the saved status
self.savedEvents.statusCode = statusCode
self.savedEvents.screenName = screenName
d = msn.SwitchboardClient.sendMessage(self, message)
if not noerror:
- d.addCallback(failedMessage)
+ d.addCallbacks(failedMessage, failedMessage)
else:
chunks = int(math.ceil(len(text) / float(MSNConnection.MAXMESSAGESIZE)))