update-version-workflow.py 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. from datetime import datetime
  2. # import urllib.request
  3. # response = urllib.request.urlopen('https://blackjack4494.github.io/youtube-dlc/update/LATEST_VERSION')
  4. # _LATEST_VERSION = response.read().decode('utf-8')
  5. exec(compile(open('youtube_dlc/version.py').read(), 'youtube_dlc/version.py', 'exec'))
  6. _LATEST_VERSION = locals()['__version__']
  7. _OLD_VERSION = _LATEST_VERSION.rsplit("-", 1)
  8. if len(_OLD_VERSION) > 0:
  9. old_ver = _OLD_VERSION[0]
  10. old_rev = ''
  11. if len(_OLD_VERSION) > 1:
  12. old_rev = _OLD_VERSION[1]
  13. ver = f'{datetime.today():%Y.%m.%d}'
  14. rev = ''
  15. if old_ver == ver:
  16. if old_rev:
  17. rev = int(old_rev) + 1
  18. else:
  19. rev = 1
  20. _SEPARATOR = '-'
  21. version = _SEPARATOR.join(filter(None, [ver, str(rev)]))
  22. print('::set-output name=ydlc_version::' + version)
  23. file_version_py = open('youtube_dlc/version.py', 'rt')
  24. data = file_version_py.read()
  25. data = data.replace(locals()['__version__'], version)
  26. file_version_py.close()
  27. file_version_py = open('youtube_dlc/version.py', 'wt')
  28. file_version_py.write(data)
  29. file_version_py.close()