Skip to content

Commit 55a70c2

Browse files
authored
Add new resource types to get_change_details example. (googleads#457)
1 parent 0a6f5de commit 55a70c2

1 file changed

Lines changed: 25 additions & 0 deletions

File tree

examples/account_management/get_change_details.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@
2222
from datetime import datetime, timedelta
2323
import sys
2424

25+
from proto.enums import ProtoEnumMeta
26+
2527
from google.ads.googleads.client import GoogleAdsClient
2628
from google.ads.googleads.errors import GoogleAdsException
2729
from google.ads.googleads.util import get_nested_attr
@@ -86,6 +88,9 @@ def main(client, customer_id):
8688
elif resource_type == "AD_GROUP_AD":
8789
old_resource = event.old_resource.ad_group_ad
8890
new_resource = event.new_resource.ad_group_ad
91+
elif resource_type == "AD_GROUP_ASSET":
92+
old_resource = event.old_resource.ad_group_asset
93+
new_resource = event.new_resource.ad_group_asset
8994
elif resource_type == "AD_GROUP_CRITERION":
9095
old_resource = event.old_resource.ad_group_criterion
9196
new_resource = event.new_resource.ad_group_criterion
@@ -95,9 +100,15 @@ def main(client, customer_id):
95100
elif resource_type == "AD_GROUP_FEED":
96101
old_resource = event.old_resource.ad_group_feed
97102
new_resource = event.new_resource.ad_group_feed
103+
elif resource_type == "ASSET":
104+
old_resource = event.old_resource.asset
105+
new_resource = event.new_resource.asset
98106
elif resource_type == "CAMPAIGN":
99107
old_resource = event.old_resource.campaign
100108
new_resource = event.new_resource.campaign
109+
elif resource_type == "CAMPAIGN_ASSET":
110+
old_resource = event.old_resource.campaign_asset
111+
new_resource = event.new_resource.campaign_asset
101112
elif resource_type == "CAMPAIGN_BUDGET":
102113
old_resource = event.old_resource.campaign_budget
103114
new_resource = event.new_resource.campaign_budget
@@ -107,6 +118,9 @@ def main(client, customer_id):
107118
elif resource_type == "CAMPAIGN_FEED":
108119
old_resource = event.old_resource.campaign_feed
109120
new_resource = event.new_resource.campaign_feed
121+
elif resource_type == "CUSTOMER_ASSET":
122+
old_resource = event.old_resource.customer_asset
123+
new_resource = event.new_resource.customer_asset
110124
elif resource_type == "FEED":
111125
old_resource = event.old_resource.feed
112126
new_resource = event.new_resource.feed
@@ -138,11 +152,22 @@ def main(client, customer_id):
138152
# https://developers.google.com/google-ads/api/docs/client-libs/python/library-version-10#field_names_that_are_reserved_words
139153
if changed_field == "type":
140154
changed_field = "type_"
155+
141156
new_value = get_nested_attr(new_resource, changed_field)
157+
# If the field value is an Enum get the human readable name
158+
# so that it is printed instead of the field ID integer.
159+
if isinstance(type(new_value), ProtoEnumMeta):
160+
new_value = new_value.name
161+
142162
if operation_type == "CREATE":
143163
print(f"\t{changed_field} set to {new_value}")
144164
else:
145165
old_value = get_nested_attr(old_resource, changed_field)
166+
# If the field value is an Enum get the human readable name
167+
# so that it is printed instead of the field ID integer.
168+
if isinstance(type(old_value), ProtoEnumMeta):
169+
old_value = old_value.name
170+
146171
print(
147172
f"\t{changed_field} changed from {old_value} to {new_value}"
148173
)

0 commit comments

Comments
 (0)