For the time being you can use the following diff. arm() is deprecated
in Twisted 2.1
and as I've got not much Python experience I failed to adapt apt_proxy.py to the
Twisted changes.

Beware that this will most probably only work for the case when there is no
error and fail if anything goes wrong while downloading from the external
Debian mirror. If this happens you can try to work around by doing
"apt-get clean"
and installing/upgrading anew.

This is the Deferred api as present in current Twisted:
http://twistedmatrix.com/documents/current/api/twisted.internet.defer.Deferred.html#arm.

Evil hack (no cure to the python-twisted incompatibility) to
/usr/lib/python2.3/site-packages/apt_proxy/apt_proxy.py
until a real Python programmer adapts apt-proxy:

--- apt_proxy.py        2005-08-19 19:15:20.000000000 +0200
+++ apt_proxy.py.new    2006-01-23 13:48:24.000000000 +0100
@@ -819,7 +819,7 @@
         d = self.ftpclient.queueStringCommand('SIZE ' + self.remote_file)
         d.addCallbacks(apFtpSizeFinish, apFtpSizeFinish,
                        (self, 0), None, (self, 1), None)
-        d.arm()
+        #d.arm()

     def ftpFetchList(self):
         "If ftpFetchSize didn't work try to get the size with a list command."
@@ -839,7 +839,7 @@
         d.addCallbacks(apFtpListFinish, apFtpListFinish,
                        (filelist, self, 0), None,
                        (filelist, self, 1), None)
-        d.arm()
+       #d.arm()

     def ftpFetchFile(self):
         "And finally, we ask for the file."
@@ -851,7 +851,7 @@
         d.addCallbacks(apFtpFetchFinish, apFtpFetchFinish,
                        (http.OK, "good", self), None,
                        (http.NOT_FOUND, "fail", self), None)
-        d.arm()
+        #d.arm()

     def dataReceived(self, data):
         self.setResponseCode(http.OK)
@@ -1486,7 +1486,7 @@
             d.addCallbacks(fetch_real, fetch_real,
                            (dummyFetcher, 1, running,), None,
                            (dummyFetcher, 0, running,), None)
-            d.arm()
+            #d.arm()
             return None

     def simplify_path(self, old_path):
@@ -1574,7 +1574,7 @@
             verifier.deferred.addCallbacks(file_ok, deferred.errback,
                                            (deferred, self), None,
                                            None, None)
-            verifier.deferred.arm()
+            #verifier.deferred.arm()
         else:
             deferred.errback()

Reply via email to