| 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
|
| deleted file mode 100755
|
| index f9feb775618933f4ce5b2a7307ea9bf1192b010d..0000000000000000000000000000000000000000
|
| --- a/tools/telemetry/third_party/gsutilz/third_party/apitools/apitools/gen/gen_client_lib.py
|
| +++ /dev/null
|
| @@ -1,176 +0,0 @@
|
| -#!/usr/bin/env python
|
| -"""Simple tool for generating a client library.
|
| -
|
| -Relevant links:
|
| - https://developers.google.com/discovery/v1/reference/apis#resource
|
| -"""
|
| -
|
| -from six.moves import urllib_parse
|
| -
|
| -from apitools.base.py import base_cli
|
| -from apitools.gen import command_registry
|
| -from apitools.gen import message_registry
|
| -from apitools.gen import service_registry
|
| -from apitools.gen import util
|
| -
|
| -
|
| -def _StandardQueryParametersSchema(discovery_doc):
|
| - """Sets up dict of standard query parameters."""
|
| - standard_query_schema = {
|
| - 'id': 'StandardQueryParameters',
|
| - 'type': 'object',
|
| - 'description': 'Query parameters accepted by all methods.',
|
| - 'properties': discovery_doc.get('parameters', {}),
|
| - }
|
| - # We add an entry for the trace, since Discovery doesn't.
|
| - standard_query_schema['properties']['trace'] = {
|
| - 'type': 'string',
|
| - 'description': base_cli.TRACE_HELP,
|
| - 'location': 'query',
|
| - }
|
| - return standard_query_schema
|
| -
|
| -
|
| -def _ComputePaths(package, version, discovery_doc):
|
| - full_path = urllib_parse.urljoin(
|
| - discovery_doc['rootUrl'], discovery_doc['servicePath'])
|
| - api_path_component = '/'.join((package, version, ''))
|
| - if api_path_component not in full_path:
|
| - return full_path, ''
|
| - prefix, _, suffix = full_path.rpartition(api_path_component)
|
| - return prefix + api_path_component, suffix
|
| -
|
| -
|
| -class DescriptorGenerator(object):
|
| -
|
| - """Code generator for a given discovery document."""
|
| -
|
| - def __init__(self, discovery_doc, client_info, names, root_package, outdir,
|
| - base_package, generate_cli=False, use_proto2=False,
|
| - unelidable_request_methods=None):
|
| - self.__discovery_doc = discovery_doc
|
| - self.__client_info = client_info
|
| - self.__outdir = outdir
|
| - self.__use_proto2 = use_proto2
|
| - self.__description = util.CleanDescription(
|
| - self.__discovery_doc.get('description', ''))
|
| - self.__package = self.__client_info.package
|
| - self.__version = self.__client_info.version
|
| - self.__generate_cli = generate_cli
|
| - self.__root_package = root_package
|
| - self.__base_files_package = base_package
|
| - self.__base_files_target = (
|
| - '//cloud/bigscience/apitools/base/py:apitools_base')
|
| - self.__names = names
|
| - self.__base_url, self.__base_path = _ComputePaths(
|
| - self.__package, self.__client_info.url_version,
|
| - self.__discovery_doc)
|
| -
|
| - # Order is important here: we need the schemas before we can
|
| - # define the services.
|
| - self.__message_registry = message_registry.MessageRegistry(
|
| - self.__client_info, self.__names, self.__description,
|
| - self.__root_package, self.__base_files_package)
|
| - schemas = self.__discovery_doc.get('schemas', {})
|
| - for schema_name, schema in schemas.items():
|
| - self.__message_registry.AddDescriptorFromSchema(
|
| - schema_name, schema)
|
| -
|
| - # We need to add one more message type for the global parameters.
|
| - standard_query_schema = _StandardQueryParametersSchema(
|
| - self.__discovery_doc)
|
| - self.__message_registry.AddDescriptorFromSchema(
|
| - standard_query_schema['id'], standard_query_schema)
|
| -
|
| - # Now that we know all the messages, we need to correct some
|
| - # fields from MessageFields to EnumFields.
|
| - self.__message_registry.FixupMessageFields()
|
| -
|
| - self.__command_registry = command_registry.CommandRegistry(
|
| - self.__package, self.__version, self.__client_info,
|
| - self.__message_registry, self.__root_package,
|
| - self.__base_files_package, self.__base_url, self.__names)
|
| - self.__command_registry.AddGlobalParameters(
|
| - self.__message_registry.LookupDescriptorOrDie(
|
| - 'StandardQueryParameters'))
|
| -
|
| - self.__services_registry = service_registry.ServiceRegistry(
|
| - self.__client_info,
|
| - self.__message_registry,
|
| - self.__command_registry,
|
| - self.__base_url,
|
| - self.__base_path,
|
| - self.__names,
|
| - self.__root_package,
|
| - self.__base_files_package,
|
| - unelidable_request_methods or [])
|
| - services = self.__discovery_doc.get('resources', {})
|
| - for service_name, methods in sorted(services.items()):
|
| - self.__services_registry.AddServiceFromResource(
|
| - service_name, methods)
|
| - # We might also have top-level methods.
|
| - api_methods = self.__discovery_doc.get('methods', [])
|
| - if api_methods:
|
| - self.__services_registry.AddServiceFromResource(
|
| - 'api', {'methods': api_methods})
|
| - self.__client_info = self.__client_info._replace(
|
| - scopes=self.__services_registry.scopes)
|
| -
|
| - @property
|
| - def client_info(self):
|
| - return self.__client_info
|
| -
|
| - @property
|
| - def discovery_doc(self):
|
| - return self.__discovery_doc
|
| -
|
| - @property
|
| - def names(self):
|
| - return self.__names
|
| -
|
| - @property
|
| - def outdir(self):
|
| - return self.__outdir
|
| -
|
| - @property
|
| - def use_proto2(self):
|
| - return self.__use_proto2
|
| -
|
| - def _GetPrinter(self, out):
|
| - printer = util.SimplePrettyPrinter(out)
|
| - return printer
|
| -
|
| - def WriteInit(self, out):
|
| - """Write a simple __init__.py for the generated client."""
|
| - printer = self._GetPrinter(out)
|
| - printer('"""Common imports for generated %s client library."""',
|
| - self.__client_info.package)
|
| - printer('# pylint:disable=wildcard-import')
|
| - printer()
|
| - printer('import pkgutil')
|
| - printer()
|
| - printer('from %s import *', self.__base_files_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()
|
| - printer('__path__ = pkgutil.extend_path(__path__, __name__)')
|
| -
|
| - def WriteMessagesFile(self, out):
|
| - self.__message_registry.WriteFile(self._GetPrinter(out))
|
| -
|
| - def WriteMessagesProtoFile(self, out):
|
| - self.__message_registry.WriteProtoFile(self._GetPrinter(out))
|
| -
|
| - def WriteServicesProtoFile(self, out):
|
| - self.__services_registry.WriteProtoFile(self._GetPrinter(out))
|
| -
|
| - def WriteClientLibrary(self, out):
|
| - self.__services_registry.WriteFile(self._GetPrinter(out))
|
| -
|
| - def WriteCli(self, out):
|
| - self.__command_registry.WriteFile(self._GetPrinter(out))
|
|
|