diff --git a/docs/conf.py b/docs/conf.py index 13c2ba0..46fdd87 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -42,33 +42,33 @@ exclude_patterns = ['_build'] # been installed run `pip install -r docs/requirements.txt`. import django if django.VERSION[1] < 7: - sys.path.insert(0, '.') - os.environ['DJANGO_SETTINGS_MODULE'] = 'django_settings' + sys.path.insert(0, '.') + os.environ['DJANGO_SETTINGS_MODULE'] = 'django_settings' # -- Options for HTML output ---------------------------------------------- # We want to set the RTD theme, but not if we're on RTD. if os.environ.get('READTHEDOCS', None) == 'True': - # Download the GAE SDK if we are building on READTHEDOCS. - docs_dir = os.path.dirname(os.path.abspath(__file__)) - root_dir = os.path.abspath(os.path.join(docs_dir, '..')) - gae_dir = os.path.join(root_dir, 'google_appengine') - if not os.path.isdir(gae_dir): - scripts_dir = os.path.join(root_dir, 'scripts') - sys.path.append(scripts_dir) - import fetch_gae_sdk - # The first argument is the script name and the second is - # the destination dir (where google_appengine is downloaded). - result = fetch_gae_sdk.main([None, root_dir]) - if result not in (0, None): - sys.stderr.write('Result failed %d\n' % (result,)) - sys.exit(result) - # Allow imports from the GAE directory as well. - sys.path.append(gae_dir) + # Download the GAE SDK if we are building on READTHEDOCS. + docs_dir = os.path.dirname(os.path.abspath(__file__)) + root_dir = os.path.abspath(os.path.join(docs_dir, '..')) + gae_dir = os.path.join(root_dir, 'google_appengine') + if not os.path.isdir(gae_dir): + scripts_dir = os.path.join(root_dir, 'scripts') + sys.path.append(scripts_dir) + import fetch_gae_sdk + # The first argument is the script name and the second is + # the destination dir (where google_appengine is downloaded). + result = fetch_gae_sdk.main([None, root_dir]) + if result not in (0, None): + sys.stderr.write('Result failed %d\n' % (result,)) + sys.exit(result) + # Allow imports from the GAE directory as well. + sys.path.append(gae_dir) else: - import sphinx_rtd_theme - html_theme = 'sphinx_rtd_theme' - html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] + import sphinx_rtd_theme + html_theme = 'sphinx_rtd_theme' + html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] # The name of an image file (within the static path) to use as favicon of the # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 diff --git a/samples/call_compute_service.py b/samples/call_compute_service.py index da9d207..761e121 100644 --- a/samples/call_compute_service.py +++ b/samples/call_compute_service.py @@ -7,9 +7,11 @@ from googleapiclient.discovery import build from oauth2client.client import GoogleCredentials + PROJECT = 'bamboo-machine-422' # Provide your own GCE project here ZONE = 'us-central1-a' # Put here a zone which has some VMs + credentials = GoogleCredentials.get_application_default() service = build('compute', 'v1', credentials=credentials) diff --git a/samples/googleappengine/call_compute_service_from_gae.py b/samples/googleappengine/call_compute_service_from_gae.py index b3e3e75..b1b1000 100644 --- a/samples/googleappengine/call_compute_service_from_gae.py +++ b/samples/googleappengine/call_compute_service_from_gae.py @@ -5,18 +5,22 @@ import webapp2 from googleapiclient.discovery import build from oauth2client.client import GoogleCredentials + PROJECT = 'bamboo-machine-422' # Provide your own GCE project here ZONE = 'us-central1-a' # Put here a zone which has some VMs + def get_instances(): - credentials = GoogleCredentials.get_application_default() - service = build('compute', 'v1', credentials=credentials) - request = service.instances().list(project=PROJECT, zone=ZONE) - return request.execute() + credentials = GoogleCredentials.get_application_default() + service = build('compute', 'v1', credentials=credentials) + request = service.instances().list(project=PROJECT, zone=ZONE) + return request.execute() + class MainPage(webapp2.RequestHandler): - def get(self): - self.response.write(get_instances()) + def get(self): + self.response.write(get_instances()) + app = webapp2.WSGIApplication([('/', MainPage),], debug=True) diff --git a/scripts/fetch_gae_sdk.py b/scripts/fetch_gae_sdk.py index 49d2e97..b3c3d42 100755 --- a/scripts/fetch_gae_sdk.py +++ b/scripts/fetch_gae_sdk.py @@ -2,10 +2,10 @@ """Fetch the most recent GAE SDK and decompress it in the current directory. Usage: - fetch_gae_sdk.py [] + fetch_gae_sdk.py [] Current releases are listed here: - https://www.googleapis.com/storage/v1/b/appengine-sdks/o?prefix=featured + https://www.googleapis.com/storage/v1/b/appengine-sdks/o?prefix=featured """ import json @@ -16,63 +16,70 @@ import tempfile import urllib2 import zipfile + _SDK_URL = ( 'https://www.googleapis.com/storage/v1/b/appengine-sdks/o?prefix=featured') + def get_gae_versions(): - try: - version_info_json = urllib2.urlopen(_SDK_URL).read() - except: - return {} - try: - version_info = json.loads(version_info_json) - except: - return {} - return version_info.get('items', {}) + try: + version_info_json = urllib2.urlopen(_SDK_URL).read() + except: + return {} + try: + version_info = json.loads(version_info_json) + except: + return {} + return version_info.get('items', {}) + def _version_tuple(v): - version_string = os.path.splitext(v['name'])[0].rpartition('_')[2] - return tuple(int(x) for x in version_string.split('.')) + version_string = os.path.splitext(v['name'])[0].rpartition('_')[2] + return tuple(int(x) for x in version_string.split('.')) + def get_sdk_urls(sdk_versions): - python_releases = [v for v in sdk_versions - if v['name'].startswith('featured/google_appengine')] - current_releases = sorted(python_releases, key=_version_tuple, reverse=True) - return [release['mediaLink'] for release in current_releases] + python_releases = [v for v in sdk_versions + if v['name'].startswith('featured/google_appengine')] + current_releases = sorted(python_releases, key=_version_tuple, + reverse=True) + return [release['mediaLink'] for release in current_releases] + def main(argv): - if len(argv) > 2: - print 'Usage: {} []'.format(argv[0]) - return 1 - dest_dir = argv[1] if len(argv) > 1 else '.' - if not os.path.exists(dest_dir): - os.makedirs(dest_dir) + if len(argv) > 2: + print 'Usage: {} []'.format(argv[0]) + return 1 + dest_dir = argv[1] if len(argv) > 1 else '.' + if not os.path.exists(dest_dir): + os.makedirs(dest_dir) - if os.path.exists(os.path.join(dest_dir, 'google_appengine')): - print 'GAE SDK already installed at {}, exiting.'.format(dest_dir) - return 0 + if os.path.exists(os.path.join(dest_dir, 'google_appengine')): + print 'GAE SDK already installed at {}, exiting.'.format(dest_dir) + return 0 - sdk_versions = get_gae_versions() - if not sdk_versions: - print 'Error fetching GAE SDK version info' - return 1 - sdk_urls = get_sdk_urls(sdk_versions) - for sdk_url in sdk_urls: + sdk_versions = get_gae_versions() + if not sdk_versions: + print 'Error fetching GAE SDK version info' + return 1 + sdk_urls = get_sdk_urls(sdk_versions) + for sdk_url in sdk_urls: + try: + sdk_contents = StringIO.StringIO(urllib2.urlopen(sdk_url).read()) + break + except: + pass + else: + print 'Could not read SDK from any of ', sdk_urls + return 1 + sdk_contents.seek(0) try: - sdk_contents = StringIO.StringIO(urllib2.urlopen(sdk_url).read()) - break + zip_contents = zipfile.ZipFile(sdk_contents) + zip_contents.extractall(dest_dir) except: - pass - else: - print 'Could not read SDK from any of ', sdk_urls - return 1 - sdk_contents.seek(0) - try: - zip_contents = zipfile.ZipFile(sdk_contents) - zip_contents.extractall(dest_dir) - except: - print 'Error extracting SDK contents' - return 1 + print 'Error extracting SDK contents' + return 1 + if __name__ == '__main__': - sys.exit(main(sys.argv[:])) + sys.exit(main(sys.argv[:])) diff --git a/setup.py b/setup.py index cbd0acc..ab84790 100644 --- a/setup.py +++ b/setup.py @@ -22,11 +22,11 @@ from __future__ import print_function import sys if sys.version_info < (2, 6): - print('oauth2client requires python2 version >= 2.6.', file=sys.stderr) - sys.exit(1) + print('oauth2client requires python2 version >= 2.6.', file=sys.stderr) + sys.exit(1) if (3, 1) <= sys.version_info < (3, 3): - print('oauth2client requires python3 version >= 3.3.', file=sys.stderr) - sys.exit(1) + print('oauth2client requires python3 version >= 3.3.', file=sys.stderr) + sys.exit(1) from setuptools import setup