Fix Python 2.4 support
Change-Id: I89521ae52fa564f0d849cc51e71fee65b3c47bab
Signed-off-by: Shawn O. Pearce <sop@google.com>
diff --git a/main.py b/main.py
index 22e6fa4..fda8103 100755
--- a/main.py
+++ b/main.py
@@ -276,10 +276,17 @@
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():
diff --git a/project.py b/project.py
index 4bc54de..b61bcac 100644
--- a/project.py
+++ b/project.py
@@ -29,6 +29,11 @@
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 @@
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()
diff --git a/subcmds/sync.py b/subcmds/sync.py
index 244a560..a3d0692 100644
--- a/subcmds/sync.py
+++ b/subcmds/sync.py
@@ -195,15 +195,11 @@
fetched.add(project.gitdir)
pm.update()
- except BaseException, e:
- # Notify the _Fetch() function about all errors.
+ except _FetchError:
+ err_event.set()
+ except:
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
+ raise
finally:
if did_lock:
lock.release()