diff options
author | Philipp Hagemeister <phihag@phihag.de> | 2014-01-05 05:16:16 +0100 |
---|---|---|
committer | Philipp Hagemeister <phihag@phihag.de> | 2014-01-05 05:16:16 +0100 |
commit | 3e34db31708e4ec6b936f9d09357319bf06f2c44 (patch) | |
tree | 3d7f91a84df40b35ac8361946a81335499d8e756 | |
parent | 317d4edfa896f8752a06d87304b9289a15eb4b1e (diff) |
More Atom feed improvements (#2081)
-rwxr-xr-x | devscripts/gh-pages/update-feed.py | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/devscripts/gh-pages/update-feed.py b/devscripts/gh-pages/update-feed.py index 3b49a56f1..0ba15ae0f 100755 --- a/devscripts/gh-pages/update-feed.py +++ b/devscripts/gh-pages/update-feed.py @@ -9,6 +9,7 @@ import textwrap atom_template = textwrap.dedent("""\ <?xml version="1.0" encoding="utf-8"?> <feed xmlns="http://www.w3.org/2005/Atom"> + <link rel="self" href="http://rg3.github.io/youtube-dl/update/releases.atom" /> <title>youtube-dl releases</title> <id>https://yt-dl.org/feed/youtube-dl-updates-feed</id> <updated>@TIMESTAMP@</updated> @@ -43,7 +44,27 @@ versions.sort() entries = [] for v in versions: - entry = entry_template.replace('@TIMESTAMP@', v.replace('.', '-') + 'T00:00:00Z') + 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) |