buttfeed: De-duplicate updates by link.
All checks were successful
Build Tilde Friends / Build-All (push) Successful in 29m14s
All checks were successful
Build Tilde Friends / Build-All (push) Successful in 29m14s
This commit is contained in:
parent
0a6f0ed3f7
commit
2ff689aab0
@ -25,6 +25,7 @@ def fix_title(entry):
|
|||||||
return entry.title.split('\n')[0]
|
return entry.title.split('\n')[0]
|
||||||
|
|
||||||
def get_entries():
|
def get_entries():
|
||||||
|
seen = set()
|
||||||
results = []
|
results = []
|
||||||
for name, url in k_feeds.items():
|
for name, url in k_feeds.items():
|
||||||
feed = feedparser.parse(url)
|
feed = feedparser.parse(url)
|
||||||
@ -41,8 +42,12 @@ def get_entries():
|
|||||||
continue
|
continue
|
||||||
if entry.summary.startswith('<a href='):
|
if entry.summary.startswith('<a href='):
|
||||||
for m in re.findall(r'<a href="(.*?)">.*?</a>$\s*^([^\n]+)$', entry.summary, re.S | re.M):
|
for m in re.findall(r'<a href="(.*?)">.*?</a>$\s*^([^\n]+)$', entry.summary, re.S | re.M):
|
||||||
|
if not m[0] in seen:
|
||||||
|
seen.add(m[0])
|
||||||
results.append((time.mktime(entry.get('updated_parsed')), name, m[0], m[1]))
|
results.append((time.mktime(entry.get('updated_parsed')), name, m[0], m[1]))
|
||||||
else:
|
else:
|
||||||
|
if not entry.link in seen:
|
||||||
|
seen.add(entry.link)
|
||||||
results.append((time.mktime(entry.get('updated_parsed')), name, entry.link, entry.title.split('\n')[0]))
|
results.append((time.mktime(entry.get('updated_parsed')), name, entry.link, entry.title.split('\n')[0]))
|
||||||
results.sort()
|
results.sort()
|
||||||
results.reverse()
|
results.reverse()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user