Selaa lähdekoodia

Handle HTTPException when attempting to get ssh_info

The call to `urlopen` can raise `HTTPException`, but this is not
caught which results in a python Traceback.

Add handling of the exception.  Because `HTTPException` and its
derived classes do not have any message, print the name of the
exception in the error message instead.

Change-Id: Ic90fb4cc0e92702375cd976d4a03876c8ce8bffc
David Pursehouse 12 vuotta sitten
vanhempi
commit
ecf8f2b7c8
1 muutettua tiedostoa jossa 6 lisäystä ja 0 poistoa
  1. 6 0
      git_config.py

+ 6 - 0
git_config.py

@@ -40,6 +40,10 @@ else:
 from signal import SIGTERM
 from error import GitError, UploadError
 from trace import Trace
+if is_python3():
+  from http.client import HTTPException
+else:
+  from httplib import HTTPException
 
 from git_command import GitCommand
 from git_command import ssh_sock
@@ -608,6 +612,8 @@ class Remote(object):
           raise UploadError('%s: %s' % (self.review, str(e)))
         except urllib.error.URLError as e:
           raise UploadError('%s: %s' % (self.review, str(e)))
+        except HTTPException as e:
+          raise UploadError('%s: %s' % (self.review, e.__class__.__name__))
 
         REVIEW_CACHE[u] = self._review_url
     return self._review_url + self.projectname