Skip to content
Open

fix tag #1340

Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 18 additions & 13 deletions cid/helpers/quicksight/dashboard.py
Original file line number Diff line number Diff line change
Expand Up @@ -213,20 +213,25 @@ def health(self) -> bool:
@property
def deployed_cid_version(self):
if self._cid_version:
return self._cid_version
tag_version = (self.qs.get_tags(self.arn) or {}).get('cid_version_tag')
#print(f'{self.id}: {tag_version}')
if tag_version:
logger.trace(f'version of {self.arn} from tag = {tag_version}')
self._cid_version = CidVersion(tag_version)
return self._cid_version

# Check deployed definition first (most accurate)
if self.deployed_definition:
self._cid_version = self.deployed_definition.cid_version
else:
if self.deployed_template:
self._cid_version = self.deployed_template.cid_version
elif self.deployed_definition:
self._cid_version = self.deployed_definition.cid_version
if self._cid_version:
logger.trace(f'setting tag of {self.arn} to cid_version_tag = {self._cid_version}')
self.qs.set_tags(self.arn, cid_version_tag=self._cid_version)
# Fallback to tag version if no deployed resources found
tag_version = (self.qs.get_tags(self.arn) or {}).get('cid_version_tag')
if tag_version:
logger.trace(f'version of {self.arn} from tag = {tag_version}')
self._cid_version = CidVersion(tag_version)
elif self.deployed_template:
self._cid_version = self.deployed_template.cid_version

# Update tag to match actual deployed version
if self._cid_version:
logger.trace(f'setting tag of {self.arn} to cid_version_tag = {self._cid_version}')
self.qs.set_tags(self.arn, cid_version_tag=self._cid_version)

return self._cid_version


Expand Down
8 changes: 4 additions & 4 deletions cid/helpers/quicksight/definition.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,13 +38,13 @@ def resolve_version(self, raw: dict):
if about_content:
all_about_content = " | ".join(about_content)
# find first string that looks like vx.y.z using a regular expression where x, y and z are numbers
version_matches = re.findall(r"(v\d+?\.\d+?\.\d+?)", all_about_content)
version_matches = re.findall(r"([vV]\d+?\.\d+?\.\d+?)", all_about_content)
if version_matches:
return version_matches[0]
return version_matches[0].lower() # normalize to lowercase
else:
version_matches = re.findall(r"(v\d+?\.\d+?)", all_about_content)
version_matches = re.findall(r"([vV]\d+?\.\d+?)", all_about_content)
if version_matches:
return f"{version_matches[0]}.0"
return f"{version_matches[0].lower()}.0" # normalize to lowercase

return None

Expand Down
Loading