Skip to content

Commit fdfff32

Browse files
authored
Avoid overwriting '__module__' of messages from shared modules. (#5364)
Note that we *are* still overwriting it for messages from modules defined within the current package. See #4715.
1 parent 45a81eb commit fdfff32

File tree

2 files changed

+61
-37
lines changed
  • packages/google-cloud-bigtable/google/cloud

2 files changed

+61
-37
lines changed

packages/google-cloud-bigtable/google/cloud/bigtable_admin_v2/types.py

Lines changed: 36 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,7 @@
1515
from __future__ import absolute_import
1616
import sys
1717

18-
from google.api_core.protobuf_helpers import get_messages
19-
2018
from google.api import http_pb2
21-
from google.cloud.bigtable_admin_v2.proto import bigtable_instance_admin_pb2
22-
from google.cloud.bigtable_admin_v2.proto import bigtable_table_admin_pb2
23-
from google.cloud.bigtable_admin_v2.proto import instance_pb2
24-
from google.cloud.bigtable_admin_v2.proto import table_pb2
2519
from google.iam.v1 import iam_policy_pb2
2620
from google.iam.v1 import policy_pb2
2721
from google.iam.v1.logging import audit_data_pb2
@@ -34,25 +28,43 @@
3428
from google.protobuf import timestamp_pb2
3529
from google.rpc import status_pb2
3630

31+
from google.api_core.protobuf_helpers import get_messages
32+
from google.cloud.bigtable_admin_v2.proto import bigtable_instance_admin_pb2
33+
from google.cloud.bigtable_admin_v2.proto import bigtable_table_admin_pb2
34+
from google.cloud.bigtable_admin_v2.proto import instance_pb2
35+
from google.cloud.bigtable_admin_v2.proto import table_pb2
36+
37+
38+
_shared_modules = [
39+
http_pb2,
40+
iam_policy_pb2,
41+
policy_pb2,
42+
audit_data_pb2,
43+
operations_pb2,
44+
any_pb2,
45+
descriptor_pb2,
46+
duration_pb2,
47+
empty_pb2,
48+
field_mask_pb2,
49+
timestamp_pb2,
50+
status_pb2,
51+
]
52+
53+
_local_modules = [
54+
bigtable_instance_admin_pb2,
55+
bigtable_table_admin_pb2,
56+
instance_pb2,
57+
table_pb2,
58+
]
59+
3760
names = []
38-
for module in (
39-
http_pb2,
40-
bigtable_instance_admin_pb2,
41-
bigtable_table_admin_pb2,
42-
instance_pb2,
43-
table_pb2,
44-
iam_policy_pb2,
45-
policy_pb2,
46-
audit_data_pb2,
47-
operations_pb2,
48-
any_pb2,
49-
descriptor_pb2,
50-
duration_pb2,
51-
empty_pb2,
52-
field_mask_pb2,
53-
timestamp_pb2,
54-
status_pb2,
55-
):
61+
62+
for module in _shared_modules:
63+
for name, message in get_messages(module).items():
64+
setattr(sys.modules[__name__], name, message)
65+
names.append(name)
66+
67+
for module in _local_modules:
5668
for name, message in get_messages(module).items():
5769
message.__module__ = 'google.cloud.bigtable_admin_v2.types'
5870
setattr(sys.modules[__name__], name, message)

packages/google-cloud-bigtable/google/cloud/bigtable_v2/types.py

Lines changed: 25 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,26 +15,38 @@
1515
from __future__ import absolute_import
1616
import sys
1717

18-
from google.api_core.protobuf_helpers import get_messages
19-
2018
from google.api import http_pb2
21-
from google.cloud.bigtable_v2.proto import bigtable_pb2
22-
from google.cloud.bigtable_v2.proto import data_pb2
2319
from google.protobuf import any_pb2
2420
from google.protobuf import descriptor_pb2
2521
from google.protobuf import wrappers_pb2
2622
from google.rpc import status_pb2
2723

24+
from google.api_core.protobuf_helpers import get_messages
25+
from google.cloud.bigtable_v2.proto import bigtable_pb2
26+
from google.cloud.bigtable_v2.proto import data_pb2
27+
28+
29+
_shared_modules = [
30+
http_pb2,
31+
any_pb2,
32+
descriptor_pb2,
33+
wrappers_pb2,
34+
status_pb2,
35+
]
36+
37+
_local_modules = [
38+
bigtable_pb2,
39+
data_pb2,
40+
]
41+
2842
names = []
29-
for module in (
30-
http_pb2,
31-
bigtable_pb2,
32-
data_pb2,
33-
any_pb2,
34-
descriptor_pb2,
35-
wrappers_pb2,
36-
status_pb2,
37-
):
43+
44+
for module in _shared_modules:
45+
for name, message in get_messages(module).items():
46+
setattr(sys.modules[__name__], name, message)
47+
names.append(name)
48+
49+
for module in _local_modules:
3850
for name, message in get_messages(module).items():
3951
message.__module__ = 'google.cloud.bigtable_v2.types'
4052
setattr(sys.modules[__name__], name, message)

0 commit comments

Comments
 (0)