upgrade_strategy 823 B

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