]> code.delx.au - pymsnt/blobdiff - src/tlib/msn/msn.py
File transfer size limits.
[pymsnt] / src / tlib / msn / msn.py
index 0e82e6f65cd126f4a5e659b7b749bbb4ecec185e..e16d4e89ddb73adbcb8ceea21ba9259e47c244da 100644 (file)
@@ -100,9 +100,12 @@ import msnp11chl
 from twisted.internet import reactor, task
 from twisted.internet.defer import Deferred
 from twisted.internet.protocol import ClientFactory
-from twisted.internet.ssl import ClientContextFactory
+try:
+    from twisted.internet.ssl import ClientContextFactory
+except ImportError:
+    print "You must install pycrypto and pyopenssl."
+    raise
 from twisted.python import failure, log
-from twisted.xish.domish import unescapeFromXml
 
 # Compat stuff
 from tlib import xmlw
@@ -1051,7 +1054,7 @@ class NotificationClient(MSNEventBase):
         p1 = lm.find("<psm>") + 5
         p2 = lm.find("</psm>")
         if p1 >= 0 and p2 >= 0:
-            personal = unescapeFromXml(message.message[p1:p2])
+            personal = xmlw.unescapeFromXml(message.message[p1:p2])
             msnContact.personal = personal
             self.contactPersonalChanged(message.userHandle, personal)
         else:
@@ -2962,11 +2965,13 @@ class SLPLink_FileReceive(SLPLink_Receive, FileReceive):
 
     def reject(self):
         # Send a 603 decline
+        if not self.switchboard: return
         self.sendSLPMessage("603", "application/x-msnmsgr-sessionreqbody", {"SessionID":self.sessionID}, branch=self.initialBranch)
         self.killLink()
 
     def accept(self, consumer):
         FileReceive.accept(self, consumer)
+        if not self.switchboard: return
         self.sendSLPMessage("200", "application/x-msnmsgr-sessionreqbody", {"SessionID":self.sessionID}, branch=self.initialBranch)
 
     def handleSLPMessage(self, slpMessage):