Ver Fonte

Fix Python 2.4 support

Change-Id: I89521ae52fa564f0d849cc51e71fee65b3c47bab
Signed-off-by: Shawn O. Pearce <sop@google.com>
Shawn O. Pearce há 14 anos atrás
pai
commit
df5ee52050
3 ficheiros alterados com 18 adições e 10 exclusões
  1. 8 1
      main.py
  2. 6 1
      project.py
  3. 4 8
      subcmds/sync.py

+ 8 - 1
main.py

@@ -276,10 +276,17 @@ class _UserAgentHandler(urllib2.BaseHandler):
 class _BasicAuthHandler(urllib2.HTTPBasicAuthHandler):
   def http_error_auth_reqed(self, authreq, host, req, headers):
     try:
+      old_add_header = req.add_header
+      def _add_header(name, val):
+        val = val.replace('\n', '')
+        old_add_header(name, val)
+      req.add_header = _add_header
       return urllib2.AbstractBasicAuthHandler.http_error_auth_reqed(
         self, authreq, host, req, headers)
     except:
-      self.reset_retry_count()
+      reset = getattr(self, 'reset_retry_count', None)
+      if reset is not None:
+        reset()
       raise
 
 def init_http():

+ 6 - 1
project.py

@@ -29,6 +29,11 @@ try:
 except ImportError:
   import dummy_threading as _threading
 
+try:
+  from os import SEEK_END
+except ImportError:
+  SEEK_END = 2
+
 from color import Coloring
 from git_command import GitCommand
 from git_config import GitConfig, IsId, GetSchemeFromUrl
@@ -1462,7 +1467,7 @@ class Project(object):
     done = False
     dest = open(tmpPath, 'a+b')
     try:
-      dest.seek(0, os.SEEK_END)
+      dest.seek(0, SEEK_END)
       pos = dest.tell()
 
       _urllib_lock.acquire()

+ 4 - 8
subcmds/sync.py

@@ -195,15 +195,11 @@ later is required to fix a server side protocol bug.
 
           fetched.add(project.gitdir)
           pm.update()
-        except BaseException, e:
-          # Notify the _Fetch() function about all errors.
+        except _FetchError:
           err_event.set()
-
-          # If we got our own _FetchError, we don't want a stack trace.
-          # However, if we got something else (something in Sync_NetworkHalf?),
-          # we'd like one (so re-raise after we've set err_event).
-          if not isinstance(e, _FetchError):
-            raise
+        except:
+          err_event.set()
+          raise
       finally:
         if did_lock:
           lock.release()