aboutsummaryrefslogtreecommitdiff
path: root/googleapiclient
diff options
context:
space:
mode:
authorTakashi Matsuo <tmatsuo@google.com>2015-09-04 12:25:55 -0700
committerTakashi Matsuo <tmatsuo@google.com>2015-09-04 14:09:32 -0700
commit3772f9dbe8643f547ae384e03f4dba67f174c47f (patch)
treecd47d6cec4c960cb3d94502373ca88635e9a1495 /googleapiclient
parenta1fef469f83f81aa204e42650d684198c1186c14 (diff)
downloadgoogle-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.py14
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)