[Checkins] SVN: zope.app.twisted/trunk/src/zope/app/twisted/ftp/utils.py fix of 599 error on conflict error in request

Adam Groszer agroszer at gmail.com
Fri Feb 1 09:42:48 EST 2008


Log message for revision 83376:
  fix of 599 error on conflict error in request
  see: http://mail.zope.org/pipermail/zope-dev/2008-January/030844.html

Changed:
  U   zope.app.twisted/trunk/src/zope/app/twisted/ftp/utils.py

-=-
Modified: zope.app.twisted/trunk/src/zope/app/twisted/ftp/utils.py
===================================================================
--- zope.app.twisted/trunk/src/zope/app/twisted/ftp/utils.py	2008-02-01 14:25:58 UTC (rev 83375)
+++ zope.app.twisted/trunk/src/zope/app/twisted/ftp/utils.py	2008-02-01 14:42:48 UTC (rev 83376)
@@ -100,7 +100,7 @@
         return self._execute(path, 'ls', split=False, filter=filter)
 
     def readfile(self, path, outstream, start=0, end=None):
-        return self._execute(path, 'readfile', 
+        return self._execute(path, 'readfile',
                              outstream=outstream, start=start, end=end)
 
     def lsinfo(self, path):
@@ -154,15 +154,18 @@
             env['path'], env['name'] = posixpath.split(path)
         else:
             env['path'] = path
-            
+
         env['credentials'] = self.credentials
         request = self.request_factory(StringIO(''), env)
 
         # Note that publish() calls close() on request, which deletes the
         # response from the request, so that we need to keep track of it.
-        response = request.response
-        publish(request)
-        return response.getResult()
+        # agroszer: 2008.feb.1.: currently the above seems not to be true
+        # request will KEEP the response on close()
+        # even more if a retry occurs in the publisher,
+        # the response will be LOST, so we must accept the returned request
+        request = publish(request)
+        return request.response.getResult()
 
     def _translate (self, path):
         # Normalize



More information about the Checkins mailing list