[Checkins] SVN: zc.zeoinputlog/branches/replay/src/zc/zeoinputlog/readonlyreplay.py jim's fix for accessing blobs via an HTTP server

Satchidanand Haridas satchit at zope.com
Fri Aug 5 17:52:17 EDT 2011


Log message for revision 122480:
  jim's fix for accessing blobs via an HTTP server

Changed:
  U   zc.zeoinputlog/branches/replay/src/zc/zeoinputlog/readonlyreplay.py

-=-
Modified: zc.zeoinputlog/branches/replay/src/zc/zeoinputlog/readonlyreplay.py
===================================================================
--- zc.zeoinputlog/branches/replay/src/zc/zeoinputlog/readonlyreplay.py	2011-08-05 09:28:52 UTC (rev 122479)
+++ zc.zeoinputlog/branches/replay/src/zc/zeoinputlog/readonlyreplay.py	2011-08-05 21:52:16 UTC (rev 122480)
@@ -283,7 +283,8 @@
             url += '/'
         url = urlparse.urlparse(url)
         self.blob_prefix = url.path
-        self.blob_conn = httplib.HTTPConnection(url.netloc)
+        self.blob_url = url.netloc
+        self.blob_conn = httplib.HTTPConnection(self.blob_url)
         self.blob_layout = ZODB.blob.BushyLayout()
         Handler.__init__(self, addr, session, inq, outq)
 
@@ -300,7 +301,8 @@
                     r = conn.getresponse()
                 except httplib.HTTPException:
                     t = time.time()
-                    conn.connect()
+                    conn = self.blob_conn = httplib.HTTPConnection(
+                        self.blob_url)
                     conn.request("GET", self.blob_prefix+path,
                                  headers=dict(Connection='Keep-Alive'))
                     r = conn.getresponse()
@@ -308,6 +310,7 @@
                 self.read_blob(r)
                 ret = None
             except Exception, v:
+                traceback.print_exc()
                 ret = None, v
 
             elapsed = time.time() - t
@@ -316,10 +319,9 @@
         else:
             Handler.call(self, op, args)
 
+    def read_blob(self, r):
+        r.read()
 
-        def read_blob(self, r):
-            r.read()
-
 class HTTPWritingHandler(HTTPHandler):
 
     def read_blob(self, r):



More information about the checkins mailing list