upgrade_strategy 789 B

123456789101112131415161718192021222324252627282930313233343536
  1. #!/usr/bin/python3
  2. import json
  3. import sys
  4. import re
  5. from catalog_update.upgrade_strategy import datetime_versioning
  6. VERSION_REG = r'2[3-9][0-1][0-9][0-3][0-9]'
  7. def newer_mapping(image_tags):
  8. key = list(image_tags.keys())[0]
  9. tags = []
  10. for tag in image_tags[key]:
  11. match = re.fullmatch(VERSION_REG, tag)
  12. if match:
  13. tags.append(tag.split('-')[0])
  14. version = datetime_versioning(list(tags), '%y%m%d')
  15. if not version:
  16. return {}
  17. return {
  18. 'tags': {key: f'{version}'},
  19. 'app_version': version,
  20. }
  21. if __name__ == '__main__':
  22. try:
  23. versions_json = json.loads(sys.stdin.read())
  24. except ValueError:
  25. raise ValueError('Invalid json specified')
  26. print(json.dumps(newer_mapping(versions_json)))