]> code.delx.au - pymsnt/blobdiff - src/ft.py
Trunk is broken. Don't use!
[pymsnt] / src / ft.py
index 6cc6bade3e0051defb93560fbbb0de21e9788840..fbf200e55ba431a62f107b227e97b8dfba44e126 100644 (file)
--- a/src/ft.py
+++ b/src/ft.py
@@ -69,11 +69,7 @@ class FTReceive:
                LogEvent(ERROR)
 
        def messageOobMode(self):
-               d = self.legacyftp.accept()
-               d.addCallback(messageOobModeCB)
-               d.addErrback(self.error)
-
-               def messageOobModeCB():
+               def messageOobModeCB(ignored=None):
                        global oobSite
                        filename = str(random.randint(0, sys.maxint))
                        oobSite.resource.putFile(self, filename)
@@ -85,10 +81,15 @@ class FTReceive:
                        x.attributes["xmlns"] = disco.XOOB
                        x.addElement("url").addContent(config.ftOOBRoot + "/" + filename)
                        self.session.pytrans.send(m)
+
+               d = self.legacyftp.accept()
+               d.addCallback(messageOobModeCB)
+               d.addErrback(self.error)
+
        
-       def error(self):
-               #FIXME
-               pass
+       def error(self, ignored=None):
+               # FIXME
+               LogEvent(WARN)
                
 
 
@@ -127,6 +128,7 @@ class FileTransfer(resource.Resource):
                filename = request.path[1:] # Remove the leading /
                if self.files.has_key(filename):
                        file = self.files[filename]
+                       request.setHeader("Content-Disposition", "attachment; filename=\"%s\"" % file.legacyftp.filename)
                        Connector(file, request)
                        del self.files[filename]
                        return server.NOT_DONE_YET