Index: tools/telemetry/third_party/gsutilz/third_party/apitools/apitools/gen/gen_client_lib.py |
diff --git a/tools/telemetry/third_party/gsutilz/third_party/apitools/apitools/gen/gen_client_lib.py b/tools/telemetry/third_party/gsutilz/third_party/apitools/apitools/gen/gen_client_lib.py |
old mode 100755 |
new mode 100644 |
index f9feb775618933f4ce5b2a7307ea9bf1192b010d..c7f4bee6b3d03bf17c5646e309ec9c02fcd3ddb7 |
--- a/tools/telemetry/third_party/gsutilz/third_party/apitools/apitools/gen/gen_client_lib.py |
+++ b/tools/telemetry/third_party/gsutilz/third_party/apitools/apitools/gen/gen_client_lib.py |
@@ -5,6 +5,8 @@ Relevant links: |
https://developers.google.com/discovery/v1/reference/apis#resource |
""" |
+import datetime |
+ |
from six.moves import urllib_parse |
from apitools.base.py import base_cli |
@@ -56,6 +58,7 @@ class DescriptorGenerator(object): |
self.__discovery_doc.get('description', '')) |
self.__package = self.__client_info.package |
self.__version = self.__client_info.version |
+ self.__revision = discovery_doc.get('revision', '1') |
self.__generate_cli = generate_cli |
self.__root_package = root_package |
self.__base_files_package = base_package |
@@ -133,6 +136,10 @@ class DescriptorGenerator(object): |
return self.__outdir |
@property |
+ def package(self): |
+ return self.__package |
+ |
+ @property |
def use_proto2(self): |
return self.__use_proto2 |
@@ -150,16 +157,88 @@ class DescriptorGenerator(object): |
printer('import pkgutil') |
printer() |
printer('from %s import *', self.__base_files_package) |
+ if self.__root_package == '.': |
+ import_prefix = '' |
+ else: |
+ import_prefix = '%s.' % self.__root_package |
if self.__generate_cli: |
- printer('from %s.%s import *', |
- self.__root_package, self.__client_info.cli_rule_name) |
- printer('from %s.%s import *', |
- self.__root_package, self.__client_info.client_rule_name) |
- printer('from %s.%s import *', |
- self.__root_package, self.__client_info.messages_rule_name) |
+ printer('from %s%s import *', |
+ import_prefix, self.__client_info.cli_rule_name) |
+ printer('from %s%s import *', |
+ import_prefix, self.__client_info.client_rule_name) |
+ printer('from %s%s import *', |
+ import_prefix, self.__client_info.messages_rule_name) |
printer() |
printer('__path__ = pkgutil.extend_path(__path__, __name__)') |
+ def WriteIntermediateInit(self, out): |
+ """Write a simple __init__.py for an intermediate directory.""" |
+ printer = self._GetPrinter(out) |
+ printer('#!/usr/bin/env python') |
+ printer('"""Shared __init__.py for apitools."""') |
+ printer() |
+ printer('from pkgutil import extend_path') |
+ printer('__path__ = extend_path(__path__, __name__)') |
+ |
+ def WriteSetupPy(self, out): |
+ """Write a setup.py for upload to PyPI.""" |
+ printer = self._GetPrinter(out) |
+ year = datetime.datetime.now().year |
+ printer('# Copyright %s Google Inc. All Rights Reserved.' % year) |
+ printer('#') |
+ printer('# Licensed under the Apache License, Version 2.0 (the' |
+ '"License");') |
+ printer('# you may not use this file except in compliance with ' |
+ 'the License.') |
+ printer('# You may obtain a copy of the License at') |
+ printer('#') |
+ printer('# http://www.apache.org/licenses/LICENSE-2.0') |
+ printer('#') |
+ printer('# Unless required by applicable law or agreed to in writing, ' |
+ 'software') |
+ printer('# distributed under the License is distributed on an "AS IS" ' |
+ 'BASIS,') |
+ printer('# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either ' |
+ 'express or implied.') |
+ printer('# See the License for the specific language governing ' |
+ 'permissions and') |
+ printer('# limitations under the License.') |
+ printer() |
+ printer('import setuptools') |
+ printer('REQUIREMENTS = [') |
+ with printer.Indent(indent=' '): |
+ # TODO(craigcitro): Have this track apitools' version. |
+ printer('"google-apitools>=0.4.8",') |
+ printer('"httplib2>=0.9",') |
+ printer('"oauth2client>=1.4.12",') |
+ printer('"protorpc>=0.10.0",') |
+ printer(']') |
+ printer('_PACKAGE = "apitools.clients.%s"' % self.__package) |
+ printer() |
+ printer('setuptools.setup(') |
+ # TODO(craigcitro): Allow customization of these options. |
+ with printer.Indent(indent=' '): |
+ printer('name="google-apitools-%s-%s",', |
+ self.__package, self.__version) |
+ printer('version="0.4.%s",', self.__revision) |
+ printer('description="Autogenerated apitools library for %s",' % ( |
+ self.__package,)) |
+ printer('url="https://github.com/google/apitools",') |
+ printer('author="Craig Citro",') |
+ printer('author_email="craigcitro@google.com",') |
+ printer('packages=setuptools.find_packages(),') |
+ printer('install_requires=REQUIREMENTS,') |
+ printer('classifiers=[') |
+ with printer.Indent(indent=' '): |
+ printer('"Programming Language :: Python :: 2.7",') |
+ printer('"License :: OSI Approved :: Apache Software ' |
+ 'License",') |
+ printer('],') |
+ printer('license="Apache 2.0",') |
+ printer('keywords="apitools apitools-%s %s",' % ( |
+ self.__package, self.__package)) |
+ printer(')') |
+ |
def WriteMessagesFile(self, out): |
self.__message_registry.WriteFile(self._GetPrinter(out)) |