From ca2094556531d61e741dc2954fdfccbc650cdc32 Mon Sep 17 00:00:00 2001 From: James Lynn Wu Date: Thu, 9 Jul 2020 11:33:58 -0400 Subject: [PATCH] Update imports to be explicitly relative (#296) In python 3, imports are absolute by default. By adding from __future__ import absolute_import, we ensure that python 2 adopts this behavior too. --- apitools/gen/extended_descriptor.py | 2 ++ apitools/gen/gen_client_lib.py | 4 +++- apitools/gen/gen_client_test.py | 2 ++ apitools/gen/service_registry.py | 3 +++ samples/bigquery_sample/bigquery_v2/__init__.py | 2 ++ samples/bigquery_sample/bigquery_v2/bigquery_v2_client.py | 3 +++ samples/bigquery_sample/bigquery_v2/bigquery_v2_messages.py | 2 ++ samples/dns_sample/dns_v1/__init__.py | 2 ++ samples/dns_sample/dns_v1/dns_v1_client.py | 3 +++ samples/dns_sample/dns_v1/dns_v1_messages.py | 2 ++ samples/fusiontables_sample/fusiontables_v1/__init__.py | 2 ++ .../fusiontables_v1/fusiontables_v1_client.py | 3 +++ .../fusiontables_v1/fusiontables_v1_messages.py | 2 ++ samples/iam_sample/iam_v1/__init__.py | 2 ++ samples/iam_sample/iam_v1/iam_v1_client.py | 3 +++ samples/iam_sample/iam_v1/iam_v1_messages.py | 2 ++ .../servicemanagement_sample/servicemanagement_v1/__init__.py | 2 ++ .../servicemanagement_v1/servicemanagement_v1_client.py | 3 +++ .../servicemanagement_v1/servicemanagement_v1_messages.py | 2 ++ samples/storage_sample/storage_v1/__init__.py | 2 ++ samples/storage_sample/storage_v1/storage_v1_client.py | 3 +++ samples/storage_sample/storage_v1/storage_v1_messages.py | 2 ++ 22 files changed, 52 insertions(+), 1 deletion(-) diff --git a/apitools/gen/extended_descriptor.py b/apitools/gen/extended_descriptor.py index 52b34a17..711d2fa2 100644 --- a/apitools/gen/extended_descriptor.py +++ b/apitools/gen/extended_descriptor.py @@ -416,6 +416,8 @@ def PrintPreamble(self, package, version, file_descriptor): self.__printer('# NOTE: This file is autogenerated and should not be ' 'edited by hand.') self.__printer() + self.__printer('from __future__ import absolute_import') + self.__printer() self.__PrintAdditionalImports(file_descriptor.additional_imports) self.__printer() self.__printer("package = '%s'", file_descriptor.package) diff --git a/apitools/gen/gen_client_lib.py b/apitools/gen/gen_client_lib.py index 1796762e..4b93c42b 100644 --- a/apitools/gen/gen_client_lib.py +++ b/apitools/gen/gen_client_lib.py @@ -168,12 +168,14 @@ def WriteInit(self, out): else: printer('"""Package marker file."""') printer() + printer('from __future__ import absolute_import') + printer() printer('import pkgutil') printer() if self.__init_wildcards_file: printer('from %s import *', self.__base_files_package) if self.__root_package == '.': - import_prefix = '' + import_prefix = '.' else: import_prefix = '%s.' % self.__root_package printer('from %s%s import *', diff --git a/apitools/gen/gen_client_test.py b/apitools/gen/gen_client_test.py index a0f30d59..74301011 100644 --- a/apitools/gen/gen_client_test.py +++ b/apitools/gen/gen_client_test.py @@ -73,6 +73,8 @@ def testGenClient_SimpleDocEmptyInit(self): init_file = _GetContent(os.path.join(tmp_dir_path, '__init__.py')) self.assertEqual("""\"""Package marker file.\""" +from __future__ import absolute_import + import pkgutil __path__ = pkgutil.extend_path(__path__, __name__) diff --git a/apitools/gen/service_registry.py b/apitools/gen/service_registry.py index b79f0d12..b54744b1 100644 --- a/apitools/gen/service_registry.py +++ b/apitools/gen/service_registry.py @@ -200,6 +200,9 @@ def WriteFile(self, printer): client_info.package, client_info.version) printer('# NOTE: This file is autogenerated and should not be edited ' 'by hand.') + printer() + printer('from __future__ import absolute_import') + printer() printer('from %s import base_api', self.__base_files_package) if self.__root_package: import_prefix = 'from {0} '.format(self.__root_package) diff --git a/samples/bigquery_sample/bigquery_v2/__init__.py b/samples/bigquery_sample/bigquery_v2/__init__.py index 2816da8d..f437c623 100644 --- a/samples/bigquery_sample/bigquery_v2/__init__.py +++ b/samples/bigquery_sample/bigquery_v2/__init__.py @@ -1,5 +1,7 @@ """Package marker file.""" +from __future__ import absolute_import + import pkgutil __path__ = pkgutil.extend_path(__path__, __name__) diff --git a/samples/bigquery_sample/bigquery_v2/bigquery_v2_client.py b/samples/bigquery_sample/bigquery_v2/bigquery_v2_client.py index 90552dac..afcd1acd 100644 --- a/samples/bigquery_sample/bigquery_v2/bigquery_v2_client.py +++ b/samples/bigquery_sample/bigquery_v2/bigquery_v2_client.py @@ -1,5 +1,8 @@ """Generated client library for bigquery version v2.""" # NOTE: This file is autogenerated and should not be edited by hand. + +from __future__ import absolute_import + from apitools.base.py import base_api from samples.bigquery_sample.bigquery_v2 import bigquery_v2_messages as messages diff --git a/samples/bigquery_sample/bigquery_v2/bigquery_v2_messages.py b/samples/bigquery_sample/bigquery_v2/bigquery_v2_messages.py index 63a03517..1ac1f124 100644 --- a/samples/bigquery_sample/bigquery_v2/bigquery_v2_messages.py +++ b/samples/bigquery_sample/bigquery_v2/bigquery_v2_messages.py @@ -4,6 +4,8 @@ """ # NOTE: This file is autogenerated and should not be edited by hand. +from __future__ import absolute_import + from apitools.base.protorpclite import messages as _messages from apitools.base.py import encoding from apitools.base.py import extra_types diff --git a/samples/dns_sample/dns_v1/__init__.py b/samples/dns_sample/dns_v1/__init__.py index 2816da8d..f437c623 100644 --- a/samples/dns_sample/dns_v1/__init__.py +++ b/samples/dns_sample/dns_v1/__init__.py @@ -1,5 +1,7 @@ """Package marker file.""" +from __future__ import absolute_import + import pkgutil __path__ = pkgutil.extend_path(__path__, __name__) diff --git a/samples/dns_sample/dns_v1/dns_v1_client.py b/samples/dns_sample/dns_v1/dns_v1_client.py index 06664603..19e9ca08 100644 --- a/samples/dns_sample/dns_v1/dns_v1_client.py +++ b/samples/dns_sample/dns_v1/dns_v1_client.py @@ -1,5 +1,8 @@ """Generated client library for dns version v1.""" # NOTE: This file is autogenerated and should not be edited by hand. + +from __future__ import absolute_import + from apitools.base.py import base_api from samples.dns_sample.dns_v1 import dns_v1_messages as messages diff --git a/samples/dns_sample/dns_v1/dns_v1_messages.py b/samples/dns_sample/dns_v1/dns_v1_messages.py index 5d5b77e1..1052b899 100644 --- a/samples/dns_sample/dns_v1/dns_v1_messages.py +++ b/samples/dns_sample/dns_v1/dns_v1_messages.py @@ -5,6 +5,8 @@ """ # NOTE: This file is autogenerated and should not be edited by hand. +from __future__ import absolute_import + from apitools.base.protorpclite import messages as _messages diff --git a/samples/fusiontables_sample/fusiontables_v1/__init__.py b/samples/fusiontables_sample/fusiontables_v1/__init__.py index 2816da8d..f437c623 100644 --- a/samples/fusiontables_sample/fusiontables_v1/__init__.py +++ b/samples/fusiontables_sample/fusiontables_v1/__init__.py @@ -1,5 +1,7 @@ """Package marker file.""" +from __future__ import absolute_import + import pkgutil __path__ = pkgutil.extend_path(__path__, __name__) diff --git a/samples/fusiontables_sample/fusiontables_v1/fusiontables_v1_client.py b/samples/fusiontables_sample/fusiontables_v1/fusiontables_v1_client.py index b7b6c43e..08c5b5fc 100644 --- a/samples/fusiontables_sample/fusiontables_v1/fusiontables_v1_client.py +++ b/samples/fusiontables_sample/fusiontables_v1/fusiontables_v1_client.py @@ -1,5 +1,8 @@ """Generated client library for fusiontables version v1.""" # NOTE: This file is autogenerated and should not be edited by hand. + +from __future__ import absolute_import + from apitools.base.py import base_api from samples.fusiontables_sample.fusiontables_v1 import fusiontables_v1_messages as messages diff --git a/samples/fusiontables_sample/fusiontables_v1/fusiontables_v1_messages.py b/samples/fusiontables_sample/fusiontables_v1/fusiontables_v1_messages.py index 69f2cfbe..2aa20e14 100644 --- a/samples/fusiontables_sample/fusiontables_v1/fusiontables_v1_messages.py +++ b/samples/fusiontables_sample/fusiontables_v1/fusiontables_v1_messages.py @@ -4,6 +4,8 @@ """ # NOTE: This file is autogenerated and should not be edited by hand. +from __future__ import absolute_import + from apitools.base.protorpclite import messages as _messages from apitools.base.py import extra_types diff --git a/samples/iam_sample/iam_v1/__init__.py b/samples/iam_sample/iam_v1/__init__.py index 2816da8d..f437c623 100644 --- a/samples/iam_sample/iam_v1/__init__.py +++ b/samples/iam_sample/iam_v1/__init__.py @@ -1,5 +1,7 @@ """Package marker file.""" +from __future__ import absolute_import + import pkgutil __path__ = pkgutil.extend_path(__path__, __name__) diff --git a/samples/iam_sample/iam_v1/iam_v1_client.py b/samples/iam_sample/iam_v1/iam_v1_client.py index ed9112eb..65c4f4b1 100644 --- a/samples/iam_sample/iam_v1/iam_v1_client.py +++ b/samples/iam_sample/iam_v1/iam_v1_client.py @@ -1,5 +1,8 @@ """Generated client library for iam version v1.""" # NOTE: This file is autogenerated and should not be edited by hand. + +from __future__ import absolute_import + from apitools.base.py import base_api from samples.iam_sample.iam_v1 import iam_v1_messages as messages diff --git a/samples/iam_sample/iam_v1/iam_v1_messages.py b/samples/iam_sample/iam_v1/iam_v1_messages.py index aaf2bcfc..8ccb8c7e 100644 --- a/samples/iam_sample/iam_v1/iam_v1_messages.py +++ b/samples/iam_sample/iam_v1/iam_v1_messages.py @@ -6,6 +6,8 @@ """ # NOTE: This file is autogenerated and should not be edited by hand. +from __future__ import absolute_import + from apitools.base.protorpclite import messages as _messages from apitools.base.py import encoding diff --git a/samples/servicemanagement_sample/servicemanagement_v1/__init__.py b/samples/servicemanagement_sample/servicemanagement_v1/__init__.py index 2816da8d..f437c623 100644 --- a/samples/servicemanagement_sample/servicemanagement_v1/__init__.py +++ b/samples/servicemanagement_sample/servicemanagement_v1/__init__.py @@ -1,5 +1,7 @@ """Package marker file.""" +from __future__ import absolute_import + import pkgutil __path__ = pkgutil.extend_path(__path__, __name__) diff --git a/samples/servicemanagement_sample/servicemanagement_v1/servicemanagement_v1_client.py b/samples/servicemanagement_sample/servicemanagement_v1/servicemanagement_v1_client.py index 25823db0..1b3f5d4f 100644 --- a/samples/servicemanagement_sample/servicemanagement_v1/servicemanagement_v1_client.py +++ b/samples/servicemanagement_sample/servicemanagement_v1/servicemanagement_v1_client.py @@ -1,5 +1,8 @@ """Generated client library for servicemanagement version v1.""" # NOTE: This file is autogenerated and should not be edited by hand. + +from __future__ import absolute_import + from apitools.base.py import base_api from samples.servicemanagement_sample.servicemanagement_v1 import servicemanagement_v1_messages as messages diff --git a/samples/servicemanagement_sample/servicemanagement_v1/servicemanagement_v1_messages.py b/samples/servicemanagement_sample/servicemanagement_v1/servicemanagement_v1_messages.py index 65b660c3..72b35145 100644 --- a/samples/servicemanagement_sample/servicemanagement_v1/servicemanagement_v1_messages.py +++ b/samples/servicemanagement_sample/servicemanagement_v1/servicemanagement_v1_messages.py @@ -4,6 +4,8 @@ """ # NOTE: This file is autogenerated and should not be edited by hand. +from __future__ import absolute_import + from apitools.base.protorpclite import messages as _messages from apitools.base.py import encoding from apitools.base.py import extra_types diff --git a/samples/storage_sample/storage_v1/__init__.py b/samples/storage_sample/storage_v1/__init__.py index 2816da8d..f437c623 100644 --- a/samples/storage_sample/storage_v1/__init__.py +++ b/samples/storage_sample/storage_v1/__init__.py @@ -1,5 +1,7 @@ """Package marker file.""" +from __future__ import absolute_import + import pkgutil __path__ = pkgutil.extend_path(__path__, __name__) diff --git a/samples/storage_sample/storage_v1/storage_v1_client.py b/samples/storage_sample/storage_v1/storage_v1_client.py index 4a8414ab..e054871f 100644 --- a/samples/storage_sample/storage_v1/storage_v1_client.py +++ b/samples/storage_sample/storage_v1/storage_v1_client.py @@ -1,5 +1,8 @@ """Generated client library for storage version v1.""" # NOTE: This file is autogenerated and should not be edited by hand. + +from __future__ import absolute_import + from apitools.base.py import base_api from samples.storage_sample.storage_v1 import storage_v1_messages as messages diff --git a/samples/storage_sample/storage_v1/storage_v1_messages.py b/samples/storage_sample/storage_v1/storage_v1_messages.py index 703d79bc..a8af5e0c 100644 --- a/samples/storage_sample/storage_v1/storage_v1_messages.py +++ b/samples/storage_sample/storage_v1/storage_v1_messages.py @@ -4,6 +4,8 @@ """ # NOTE: This file is autogenerated and should not be edited by hand. +from __future__ import absolute_import + from apitools.base.protorpclite import message_types as _message_types from apitools.base.protorpclite import messages as _messages from apitools.base.py import encoding