X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=devscripts%2Fgh-pages%2Fupdate-feed.py;h=506a623772e0c2195f6b3692575f5942e84c046c;hb=067aa17edf5a46a8cbc4d6b90864eddf051fa2bc;hp=2219418cefca74cfd522e07dcd693742eed9f768;hpb=9b12003c3557018dd1443f1291352f196df2621d;p=youtube-dl diff --git a/devscripts/gh-pages/update-feed.py b/devscripts/gh-pages/update-feed.py index 2219418ce..506a62377 100755 --- a/devscripts/gh-pages/update-feed.py +++ b/devscripts/gh-pages/update-feed.py @@ -1,4 +1,5 @@ #!/usr/bin/env python3 +from __future__ import unicode_literals import datetime import io @@ -7,45 +8,65 @@ import textwrap atom_template = textwrap.dedent("""\ - - - youtube-dl releases - https://yt-dl.org/feed/youtube-dl-updates-feed - @TIMESTAMP@ + + + + youtube-dl releases + https://yt-dl.org/feed/youtube-dl-updates-feed + @TIMESTAMP@ @ENTRIES@ - """) + """) entry_template = textwrap.dedent(""" - - https://yt-dl.org/feed/youtube-dl-updates-feed/youtube-dl-@VERSION@ - New version @VERSION@ - - + + https://yt-dl.org/feed/youtube-dl-updates-feed/youtube-dl-@VERSION@ + New version @VERSION@ + + - - - The youtube-dl maintainers - - @TIMESTAMP@ - + + + The youtube-dl maintainers + + @TIMESTAMP@ + """) now = datetime.datetime.now() -now_iso = now.isoformat() +now_iso = now.isoformat() + 'Z' atom_template = atom_template.replace('@TIMESTAMP@', now_iso) -entries=[] - versions_info = json.load(open('update/versions.json')) versions = list(versions_info['versions'].keys()) versions.sort() +entries = [] for v in versions: - entry = entry_template.replace('@TIMESTAMP@',v.replace('.','-')) - entry = entry.replace('@VERSION@',v) + fields = v.split('.') + year, month, day = map(int, fields[:3]) + faked = 0 + patchlevel = 0 + while True: + try: + datetime.date(year, month, day) + except ValueError: + day -= 1 + faked += 1 + assert day > 0 + continue + break + if len(fields) >= 4: + try: + patchlevel = int(fields[3]) + except ValueError: + patchlevel = 1 + timestamp = '%04d-%02d-%02dT00:%02d:%02dZ' % (year, month, day, faked, patchlevel) + + entry = entry_template.replace('@TIMESTAMP@', timestamp) + entry = entry.replace('@VERSION@', v) entries.append(entry) entries_str = textwrap.indent(''.join(entries), '\t') @@ -53,4 +74,3 @@ atom_template = atom_template.replace('@ENTRIES@', entries_str) with io.open('update/releases.atom', 'w', encoding='utf-8') as atom_file: atom_file.write(atom_template) -