diff options
author | Takashi Matsuo <tmatsuo@google.com> | 2015-09-04 12:25:55 -0700 |
---|---|---|
committer | Takashi Matsuo <tmatsuo@google.com> | 2015-09-04 14:09:32 -0700 |
commit | 3772f9dbe8643f547ae384e03f4dba67f174c47f (patch) | |
tree | cd47d6cec4c960cb3d94502373ca88635e9a1495 /googleapiclient | |
parent | a1fef469f83f81aa204e42650d684198c1186c14 (diff) | |
download | google-api-python-client-3772f9dbe8643f547ae384e03f4dba67f174c47f.tar.gz |
Fixed a NameError on exception, added a unit test.
Fixes #130
Diffstat (limited to 'googleapiclient')
-rw-r--r-- | googleapiclient/discovery.py | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/googleapiclient/discovery.py b/googleapiclient/discovery.py index b7c884ecc..be62cf73e 100644 --- a/googleapiclient/discovery.py +++ b/googleapiclient/discovery.py @@ -29,6 +29,7 @@ __all__ = [ ] from six import StringIO +from six.moves import http_client from six.moves.urllib.parse import urlencode, urlparse, urljoin, \ urlunparse, parse_qsl @@ -190,7 +191,15 @@ def build(serviceName, requested_url = uritemplate.expand(discoveryServiceUrl, params) - content = _retrieve_discovery_doc(requested_url, http, cache_discovery, cache) + try: + content = _retrieve_discovery_doc(requested_url, http, cache_discovery, + cache) + except HttpError as e: + if e.resp.status == http_client.NOT_FOUND: + raise UnknownApiNameOrVersion("name: %s version: %s" % (serviceName, + version)) + else: + raise e return build_from_document(content, base=discoveryServiceUrl, http=http, developerKey=developerKey, model=model, requestBuilder=requestBuilder, @@ -232,9 +241,6 @@ def _retrieve_discovery_doc(url, http, cache_discovery, cache=None): resp, content = http.request(actual_url) - if resp.status == 404: - raise UnknownApiNameOrVersion("name: %s version: %s" % (serviceName, - version)) if resp.status >= 400: raise HttpError(resp, content, uri=actual_url) |