in 5-app-infra/3-artifact-publish/docker/cdmc/tag_engine_api/DataCatalogController.py [0:0]
def check_if_tag_exists(self, parent, column=None):
print(f'enter check_if_tag_exists, parent: {parent}')
tag_exists = False
tag_id = ""
tag_list = self.client.list_tags(parent=parent, timeout=120)
for tag_instance in tag_list:
tagged_column = tag_instance.column
tagged_template_project = tag_instance.template.split('/')[1]
tagged_template_location = tag_instance.template.split('/')[3]
tagged_template_id = tag_instance.template.split('/')[5]
if column == '' or column == None:
# looking for a table-level tag
if tagged_template_id == self.template_id and tagged_template_project == self.template_project and \
tagged_template_location == self.template_region and tagged_column == "":
tag_exists = True
tag_id = tag_instance.name
break
else:
# looking for a column-level tag
if column.lower() == tagged_column and tagged_template_id == self.template_id and tagged_template_project == self.template_project and \
tagged_template_location == self.template_region:
tag_exists = True
tag_id = tag_instance.name
break
return tag_exists, tag_id