More Atom feed improvements (#2081)
parent
317d4edfa8
commit
3e34db3170
|
@ -9,6 +9,7 @@ import textwrap
|
||||||
atom_template = textwrap.dedent("""\
|
atom_template = textwrap.dedent("""\
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<feed xmlns="http://www.w3.org/2005/Atom">
|
<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>
|
<title>youtube-dl releases</title>
|
||||||
<id>https://yt-dl.org/feed/youtube-dl-updates-feed</id>
|
<id>https://yt-dl.org/feed/youtube-dl-updates-feed</id>
|
||||||
<updated>@TIMESTAMP@</updated>
|
<updated>@TIMESTAMP@</updated>
|
||||||
|
@ -43,7 +44,27 @@ versions.sort()
|
||||||
|
|
||||||
entries = []
|
entries = []
|
||||||
for v in versions:
|
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)
|
entry = entry.replace('@VERSION@', v)
|
||||||
entries.append(entry)
|
entries.append(entry)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue