Mark RSS Bridge feeds

This commit is contained in:
blank X 2022-06-12 21:16:38 +07:00
parent 1844b5b055
commit 524c9e5148
Signed by: blankie
GPG Key ID: CC15FC822C7F61F5
1 changed files with 15 additions and 10 deletions

View File

@ -41,6 +41,7 @@ with open(sys.argv[1]) as file, open(sys.argv[2], 'w+') as out:
print(text)
out.write(text)
continue
rss_bridge = urlparse(feedurl).hostname.startswith('rss.')
try:
with urlopen(Request(feedurl, headers={'User-Agent': "stop being so fucking obsessed that i'm using urllib ffs"}), timeout=60) as resp:
if resp.status != 200:
@ -68,22 +69,26 @@ with open(sys.argv[1]) as file, open(sys.argv[2], 'w+') as out:
url = input().strip() or url
else:
url = url.text or url.attrib['href']
text = f'<li><b><a href="{html.escape(urljoin(feedurl, url))}">{html.escape(find_ignore_ns(channel, "title").text)}</a> (<a href="{html.escape(feedurl)}">feed</a>)'
desc = find_ignore_ns(channel, 'description')
if desc is not None and desc.text:
if desc := desc.text.strip():
text += f':</b> {html.escape(desc)}'
else:
text += '</b>'
else:
desc = find_ignore_ns(channel, 'subtitle')
text = f'<li><b><a href="{html.escape(urljoin(feedurl, url))}">{html.escape(find_ignore_ns(channel, "title").text)}</a> (<a href="{html.escape(feedurl)}">'
if rss_bridge:
text += 'auto-generated '
text += 'feed</a>)'
if not rss_bridge:
desc = find_ignore_ns(channel, 'description')
if desc is not None and desc.text:
if desc := desc.text.strip():
text += f':</b> {html.escape(desc)}'
else:
text += '</b>'
else:
text += '</b>'
desc = find_ignore_ns(channel, 'subtitle')
if desc is not None and desc.text:
if desc := desc.text.strip():
text += f':</b> {html.escape(desc)}'
else:
text += '</b>'
else:
text += '</b>'
print(text, '</li>', sep='')
out.write(text)
out.write('</li>\n')