Skip to content

Commit

Permalink
Avoid overwriting '__module__' of messages from shared modules. (#5364)
Browse files Browse the repository at this point in the history
Note that we *are* still overwriting it for messages from modules defined
within the current package.

See #4715.
  • Loading branch information
tseaver authored May 22, 2018
1 parent 47926cd commit e592ca3
Show file tree
Hide file tree
Showing 33 changed files with 957 additions and 563 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,7 @@
from __future__ import absolute_import
import sys

from google.api_core.protobuf_helpers import get_messages

from google.api import http_pb2
from google.cloud.bigquery_datatransfer_v1.proto import datatransfer_pb2
from google.cloud.bigquery_datatransfer_v1.proto import transfer_pb2
from google.protobuf import any_pb2
from google.protobuf import descriptor_pb2
from google.protobuf import duration_pb2
Expand All @@ -30,21 +26,38 @@
from google.protobuf import wrappers_pb2
from google.rpc import status_pb2

from google.api_core.protobuf_helpers import get_messages
from google.cloud.bigquery_datatransfer_v1.proto import datatransfer_pb2
from google.cloud.bigquery_datatransfer_v1.proto import transfer_pb2


_shared_modules = [
http_pb2,
any_pb2,
descriptor_pb2,
duration_pb2,
empty_pb2,
field_mask_pb2,
struct_pb2,
timestamp_pb2,
wrappers_pb2,
status_pb2,
]


_local_modules = [
datatransfer_pb2,
transfer_pb2,
]

names = []
for module in (
http_pb2,
datatransfer_pb2,
transfer_pb2,
any_pb2,
descriptor_pb2,
duration_pb2,
empty_pb2,
field_mask_pb2,
struct_pb2,
timestamp_pb2,
wrappers_pb2,
status_pb2,
):

for module in _shared_modules:
for name, message in get_messages(module).items():
setattr(sys.modules[__name__], name, message)
names.append(name)

for module in _local_modules:
for name, message in get_messages(module).items():
message.__module__ = 'google.cloud.bigquery_datatransfer_v1.types'
setattr(sys.modules[__name__], name, message)
Expand Down
60 changes: 36 additions & 24 deletions bigtable/google/cloud/bigtable_admin_v2/types.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,7 @@
from __future__ import absolute_import
import sys

from google.api_core.protobuf_helpers import get_messages

from google.api import http_pb2
from google.cloud.bigtable_admin_v2.proto import bigtable_instance_admin_pb2
from google.cloud.bigtable_admin_v2.proto import bigtable_table_admin_pb2
from google.cloud.bigtable_admin_v2.proto import instance_pb2
from google.cloud.bigtable_admin_v2.proto import table_pb2
from google.iam.v1 import iam_policy_pb2
from google.iam.v1 import policy_pb2
from google.iam.v1.logging import audit_data_pb2
Expand All @@ -34,25 +28,43 @@
from google.protobuf import timestamp_pb2
from google.rpc import status_pb2

from google.api_core.protobuf_helpers import get_messages
from google.cloud.bigtable_admin_v2.proto import bigtable_instance_admin_pb2
from google.cloud.bigtable_admin_v2.proto import bigtable_table_admin_pb2
from google.cloud.bigtable_admin_v2.proto import instance_pb2
from google.cloud.bigtable_admin_v2.proto import table_pb2


_shared_modules = [
http_pb2,
iam_policy_pb2,
policy_pb2,
audit_data_pb2,
operations_pb2,
any_pb2,
descriptor_pb2,
duration_pb2,
empty_pb2,
field_mask_pb2,
timestamp_pb2,
status_pb2,
]

_local_modules = [
bigtable_instance_admin_pb2,
bigtable_table_admin_pb2,
instance_pb2,
table_pb2,
]

names = []
for module in (
http_pb2,
bigtable_instance_admin_pb2,
bigtable_table_admin_pb2,
instance_pb2,
table_pb2,
iam_policy_pb2,
policy_pb2,
audit_data_pb2,
operations_pb2,
any_pb2,
descriptor_pb2,
duration_pb2,
empty_pb2,
field_mask_pb2,
timestamp_pb2,
status_pb2,
):

for module in _shared_modules:
for name, message in get_messages(module).items():
setattr(sys.modules[__name__], name, message)
names.append(name)

for module in _local_modules:
for name, message in get_messages(module).items():
message.__module__ = 'google.cloud.bigtable_admin_v2.types'
setattr(sys.modules[__name__], name, message)
Expand Down
38 changes: 25 additions & 13 deletions bigtable/google/cloud/bigtable_v2/types.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,26 +15,38 @@
from __future__ import absolute_import
import sys

from google.api_core.protobuf_helpers import get_messages

from google.api import http_pb2
from google.cloud.bigtable_v2.proto import bigtable_pb2
from google.cloud.bigtable_v2.proto import data_pb2
from google.protobuf import any_pb2
from google.protobuf import descriptor_pb2
from google.protobuf import wrappers_pb2
from google.rpc import status_pb2

from google.api_core.protobuf_helpers import get_messages
from google.cloud.bigtable_v2.proto import bigtable_pb2
from google.cloud.bigtable_v2.proto import data_pb2


_shared_modules = [
http_pb2,
any_pb2,
descriptor_pb2,
wrappers_pb2,
status_pb2,
]

_local_modules = [
bigtable_pb2,
data_pb2,
]

names = []
for module in (
http_pb2,
bigtable_pb2,
data_pb2,
any_pb2,
descriptor_pb2,
wrappers_pb2,
status_pb2,
):

for module in _shared_modules:
for name, message in get_messages(module).items():
setattr(sys.modules[__name__], name, message)
names.append(name)

for module in _local_modules:
for name, message in get_messages(module).items():
message.__module__ = 'google.cloud.bigtable_v2.types'
setattr(sys.modules[__name__], name, message)
Expand Down
30 changes: 21 additions & 9 deletions container/google/cloud/container_v1/types.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,20 +15,32 @@
from __future__ import absolute_import
import sys

from google.api_core.protobuf_helpers import get_messages

from google.api import http_pb2
from google.cloud.container_v1.proto import cluster_service_pb2
from google.protobuf import descriptor_pb2
from google.protobuf import empty_pb2

from google.api_core.protobuf_helpers import get_messages
from google.cloud.container_v1.proto import cluster_service_pb2


_shared_modules = [
http_pb2,
descriptor_pb2,
empty_pb2,
]

_local_modules = [
cluster_service_pb2,
]

names = []
for module in (
http_pb2,
cluster_service_pb2,
descriptor_pb2,
empty_pb2,
):

for module in _shared_modules:
for name, message in get_messages(module).items():
setattr(sys.modules[__name__], name, message)
names.append(name)

for module in _local_modules:
for name, message in get_messages(module).items():
message.__module__ = 'google.cloud.container_v1.types'
setattr(sys.modules[__name__], name, message)
Expand Down
49 changes: 30 additions & 19 deletions dataproc/google/cloud/dataproc_v1/types.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,7 @@
from __future__ import absolute_import
import sys

from google.api_core.protobuf_helpers import get_messages

from google.api import http_pb2
from google.cloud.dataproc_v1.proto import clusters_pb2
from google.cloud.dataproc_v1.proto import jobs_pb2
from google.cloud.dataproc_v1.proto import operations_pb2 as proto_operations_pb2
from google.longrunning import operations_pb2 as longrunning_operations_pb2
from google.protobuf import any_pb2
from google.protobuf import descriptor_pb2
Expand All @@ -30,21 +25,37 @@
from google.protobuf import timestamp_pb2
from google.rpc import status_pb2

from google.api_core.protobuf_helpers import get_messages
from google.cloud.dataproc_v1.proto import clusters_pb2
from google.cloud.dataproc_v1.proto import jobs_pb2
from google.cloud.dataproc_v1.proto import operations_pb2 as proto_operations_pb2

_shared_modules = [
http_pb2,
longrunning_operations_pb2,
any_pb2,
descriptor_pb2,
duration_pb2,
empty_pb2,
field_mask_pb2,
timestamp_pb2,
status_pb2,
]

_local_modules = [
clusters_pb2,
jobs_pb2,
proto_operations_pb2,
]

names = []
for module in (
http_pb2,
clusters_pb2,
jobs_pb2,
proto_operations_pb2,
longrunning_operations_pb2,
any_pb2,
descriptor_pb2,
duration_pb2,
empty_pb2,
field_mask_pb2,
timestamp_pb2,
status_pb2,
):

for module in _shared_modules:
for name, message in get_messages(module).items():
setattr(sys.modules[__name__], name, message)
names.append(name)

for module in _local_modules:
for name, message in get_messages(module).items():
message.__module__ = 'google.cloud.dataproc_v1.types'
setattr(sys.modules[__name__], name, message)
Expand Down
44 changes: 28 additions & 16 deletions datastore/google/cloud/datastore_v1/types.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,30 +15,42 @@
from __future__ import absolute_import
import sys

from google.api_core.protobuf_helpers import get_messages

from google.api import http_pb2
from google.cloud.datastore_v1.proto import datastore_pb2
from google.cloud.datastore_v1.proto import entity_pb2
from google.cloud.datastore_v1.proto import query_pb2
from google.protobuf import descriptor_pb2
from google.protobuf import struct_pb2
from google.protobuf import timestamp_pb2
from google.protobuf import wrappers_pb2
from google.type import latlng_pb2

from google.api_core.protobuf_helpers import get_messages
from google.cloud.datastore_v1.proto import datastore_pb2
from google.cloud.datastore_v1.proto import entity_pb2
from google.cloud.datastore_v1.proto import query_pb2


_shared_modules = [
http_pb2,
descriptor_pb2,
struct_pb2,
timestamp_pb2,
wrappers_pb2,
latlng_pb2,
]

_local_modules = [
datastore_pb2,
entity_pb2,
query_pb2,
]

names = []
for module in (
http_pb2,
datastore_pb2,
entity_pb2,
query_pb2,
descriptor_pb2,
struct_pb2,
timestamp_pb2,
wrappers_pb2,
latlng_pb2,
):

for module in _shared_modules:
for name, message in get_messages(module).items():
setattr(sys.modules[__name__], name, message)
names.append(name)

for module in _local_modules:
for name, message in get_messages(module).items():
message.__module__ = 'google.cloud.datastore_v1.types'
setattr(sys.modules[__name__], name, message)
Expand Down
Loading

0 comments on commit e592ca3

Please sign in to comment.