X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;ds=sidebyside;f=devscripts%2Fgh-pages%2Fupdate-feed.py;h=0ba15ae0f7c83a4eb2ac6b2b56aeb72d55b3a951;hb=22dd3fad8623472cfe681fdfbaa346e0c8f5fb84;hp=16571a924c132b8ba7849ea9ad81a4d63c6ed208;hpb=6dc63025992404ddb4f7e3f9d42957e83621011d;p=youtube-dl
diff --git a/devscripts/gh-pages/update-feed.py b/devscripts/gh-pages/update-feed.py
index 16571a924..0ba15ae0f 100755
--- a/devscripts/gh-pages/update-feed.py
+++ b/devscripts/gh-pages/update-feed.py
@@ -1,56 +1,76 @@
#!/usr/bin/env python3
import datetime
-
+import io
+import json
import textwrap
-import json
-atom_template=textwrap.dedent("""\
-
-
- youtube-dl releases
- youtube-dl-updates-feed
- @TIMESTAMP@
- @ENTRIES@
- """)
-
-entry_template=textwrap.dedent("""
-
- youtube-dl-@VERSION@
- New version @VERSION@
-
-
-
-
-
- The youtube-dl maintainers
-
- @TIMESTAMP@
-
- """)
+atom_template = textwrap.dedent("""\
+
+
+
+ youtube-dl releases
+ https://yt-dl.org/feed/youtube-dl-updates-feed
+ @TIMESTAMP@
+ @ENTRIES@
+ """)
-now = datetime.datetime.now()
-now_iso = now.isoformat()
+entry_template = textwrap.dedent("""
+
+ https://yt-dl.org/feed/youtube-dl-updates-feed/youtube-dl-@VERSION@
+ New version @VERSION@
+
+
+
+
+
+ The youtube-dl maintainers
+
+ @TIMESTAMP@
+
+ """)
-atom_template = atom_template.replace('@TIMESTAMP@',now_iso)
+now = datetime.datetime.now()
+now_iso = now.isoformat() + 'Z'
-entries=[]
+atom_template = atom_template.replace('@TIMESTAMP@', now_iso)
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)
- entries.append(entry)
+ 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')
atom_template = atom_template.replace('@ENTRIES@', entries_str)
-with open('update/releases.atom','w',encoding='utf-8') as atom_file:
- atom_file.write(atom_template)
+with io.open('update/releases.atom', 'w', encoding='utf-8') as atom_file:
+ atom_file.write(atom_template)