[apt-proxy-devel] r645 - trunk/apt_proxy
Chris Halls
halls at alioth.debian.org
Tue Apr 17 21:50:41 UTC 2007
Author: halls
Date: Tue Apr 17 21:50:41 2007
New Revision: 645
Modified:
trunk/apt_proxy/clients.py
Log:
compress client: Fix exception when result is sent without streaming data (e.g. file not found)
Modified: trunk/apt_proxy/clients.py
==============================================================================
--- trunk/apt_proxy/clients.py (original)
+++ trunk/apt_proxy/clients.py Tue Apr 17 21:50:41 2007
@@ -53,6 +53,7 @@
"""
Each new request begins processing here
"""
+ log.debug("Processing request for: %s" % (self.uri), 'HttpRequestClient')
self.uri = self.clean_path(self.uri)
match = re.search('[^][a-zA-Z0-9~,.+%:;@#?{}()$/_-]', self.uri)
@@ -159,12 +160,12 @@
def finish(self):
"Finish request after streaming"
log.debug("finish. fileno:%s uri:%s" % (self.getFileno(), self.uri) , 'HttpRequestClient')
- #import traceback
- #traceback.print_stack()
try:
http.Request.finish(self)
except Exception, e:
log.debug("Unexpected error finishing http request: %s" % (e), 'HttpRequestClient')
+ import traceback
+ traceback.print_stack()
if self.cacheEntry:
reactor.callLater(0, self.cacheEntry.remove_request, self)
@@ -215,6 +216,7 @@
log.debug("New UncompressClient for %s" % (compressedCacheEntry),self.logname);
self.source = compressedCacheEntry
self.source.add_request(self)
+ self.dest = None
def get_dest_filename(self, path):
extlen = len(self.ext)
@@ -232,14 +234,16 @@
def finishCode(self, responseCode, message=None):
"Request aborted"
- self.dest.download_failure(responseCode, message)
+ if self.dest:
+ self.dest.download_failure(responseCode, message)
self.remove_from_cache_entry()
def finish(self):
self.disconnect()
def disconnect(self):
- self.dest.download_data_end()
+ if self.dest:
+ self.dest.download_data_end()
self.remove_from_cache_entry()
def remove_from_cache_entry(self):
More information about the apt-proxy-devel
mailing list