X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;ds=inline;f=devscripts%2Fgh-pages%2Fupdate-feed.py;h=e93eb60fb8af28a72b7aceb5d62d1c2e16b69bc5;hb=ca0f500ecfde0a0ada7002348e8b04ac5c79d4b4;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..e93eb60fb 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)
-