fetch other h-feeds from rel="feed" property
This commit is contained in:
parent
683b41d07c
commit
30a8198f17
2 changed files with 17 additions and 0 deletions
|
@ -9,6 +9,7 @@
|
|||
<input type="radio" name="feed" id="radio-{{ loop.index }}"
|
||||
value="{{ feed.get('type')}}|{{ feed.get('feed') }}" />
|
||||
<label for="radio-{{loop.index}}">
|
||||
{{ feed.get('title') }}:<br/>
|
||||
{{ feed.get('feed') }} ({{ feed.get('type') }})
|
||||
</label>
|
||||
</p>
|
||||
|
|
|
@ -367,6 +367,7 @@ def find_possible_feeds(origin):
|
|||
'origin': origin,
|
||||
'feed': origin,
|
||||
'type': 'xml',
|
||||
'title': 'untitled xml feed',
|
||||
})
|
||||
|
||||
elif content_type == 'text/html':
|
||||
|
@ -374,12 +375,26 @@ def find_possible_feeds(origin):
|
|||
# if text/html, then parse and look for h-entries
|
||||
hfeed = mf2util.interpret_feed(parsed, origin)
|
||||
if hfeed.get('entries'):
|
||||
ftitle = hfeed.get('name') or 'untitled h-feed'
|
||||
feeds.append({
|
||||
'origin': origin,
|
||||
'feed': resp.url,
|
||||
'type': 'html',
|
||||
'title': ftitle[:140]
|
||||
})
|
||||
|
||||
# look for link="feed"
|
||||
for furl, fprops in parsed.get('rel-urls', {}).items():
|
||||
if 'feed' in fprops.get('rels', []) and (
|
||||
not fprops.get('type')
|
||||
or fprops.get('type') == 'text/html'):
|
||||
feeds.append({
|
||||
'origin': origin,
|
||||
'feed': furl,
|
||||
'type': 'html',
|
||||
'title': fprops.get('title'),
|
||||
})
|
||||
|
||||
# then look for link rel="alternate"
|
||||
for link in parsed.get('alternates', []):
|
||||
if link.get('type') in xml_feed_types:
|
||||
|
@ -387,6 +402,7 @@ def find_possible_feeds(origin):
|
|||
'origin': origin,
|
||||
'feed': link.get('url'),
|
||||
'type': 'xml',
|
||||
'title': link.get('title'),
|
||||
})
|
||||
return feeds
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue