atom feed generator: Make IDs proper URLs (#2081)

This commit is contained in:
Philipp Hagemeister 2014-01-05 04:49:43 +01:00
parent 4ea170b8a0
commit 9b12003c35
2 changed files with 32 additions and 32 deletions

View file

@ -1,41 +1,41 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
import datetime import datetime
import io
import json
import textwrap import textwrap
import json
atom_template=textwrap.dedent("""\ atom_template = textwrap.dedent("""\
<?xml version='1.0' encoding='utf-8'?> <?xml version='1.0' encoding='utf-8'?>
<atom:feed xmlns:atom="http://www.w3.org/2005/Atom"> <atom:feed xmlns:atom="http://www.w3.org/2005/Atom">
<atom:title>youtube-dl releases</atom:title> <atom:title>youtube-dl releases</atom:title>
<atom:id>youtube-dl-updates-feed</atom:id> <atom:id>https://yt-dl.org/feed/youtube-dl-updates-feed</atom:id>
<atom:updated>@TIMESTAMP@</atom:updated> <atom:updated>@TIMESTAMP@</atom:updated>
@ENTRIES@ @ENTRIES@
</atom:feed>""") </atom:feed>""")
entry_template=textwrap.dedent(""" entry_template = textwrap.dedent("""
<atom:entry> <atom:entry>
<atom:id>youtube-dl-@VERSION@</atom:id> <atom:id>https://yt-dl.org/feed/youtube-dl-updates-feed/youtube-dl-@VERSION@</atom:id>
<atom:title>New version @VERSION@</atom:title> <atom:title>New version @VERSION@</atom:title>
<atom:link href="http://rg3.github.io/youtube-dl" /> <atom:link href="http://rg3.github.io/youtube-dl" />
<atom:content type="xhtml"> <atom:content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml"> <div xmlns="http://www.w3.org/1999/xhtml">
Downloads available at <a href="https://yt-dl.org/downloads/@VERSION@/">https://yt-dl.org/downloads/@VERSION@/</a> Downloads available at <a href="https://yt-dl.org/downloads/@VERSION@/">https://yt-dl.org/downloads/@VERSION@/</a>
</div> </div>
</atom:content> </atom:content>
<atom:author> <atom:author>
<atom:name>The youtube-dl maintainers</atom:name> <atom:name>The youtube-dl maintainers</atom:name>
</atom:author> </atom:author>
<atom:updated>@TIMESTAMP@</atom:updated> <atom:updated>@TIMESTAMP@</atom:updated>
</atom:entry> </atom:entry>
""") """)
now = datetime.datetime.now() now = datetime.datetime.now()
now_iso = now.isoformat() now_iso = now.isoformat()
atom_template = atom_template.replace('@TIMESTAMP@',now_iso) atom_template = atom_template.replace('@TIMESTAMP@', now_iso)
entries=[] entries=[]
@ -44,13 +44,13 @@ versions = list(versions_info['versions'].keys())
versions.sort() versions.sort()
for v in versions: for v in versions:
entry = entry_template.replace('@TIMESTAMP@',v.replace('.','-')) entry = entry_template.replace('@TIMESTAMP@',v.replace('.','-'))
entry = entry.replace('@VERSION@',v) entry = entry.replace('@VERSION@',v)
entries.append(entry) entries.append(entry)
entries_str = textwrap.indent(''.join(entries), '\t') entries_str = textwrap.indent(''.join(entries), '\t')
atom_template = atom_template.replace('@ENTRIES@', entries_str) atom_template = atom_template.replace('@ENTRIES@', entries_str)
with open('update/releases.atom','w',encoding='utf-8') as atom_file: with io.open('update/releases.atom', 'w', encoding='utf-8') as atom_file:
atom_file.write(atom_template) atom_file.write(atom_template)

Binary file not shown.