iA more solid id and article merging. - zs - Zeitungsschau rss to email converter Err gopher.r-36.net 70 i Err gopher.r-36.net 70 1Log /scm/zs//log.gph gopher.r-36.net 70 1Files /scm/zs//files.gph gopher.r-36.net 70 1Refs /scm/zs//refs.gph gopher.r-36.net 70 1LICENSE /scm/zs//file/LICENSE.gph gopher.r-36.net 70 i--- Err gopher.r-36.net 70 1commit a6344904fc25294ad3a3e8c15b8db1c2815e5c8b /scm/zs//commit/a6344904fc25294ad3a3e8c15b8db1c2815e5c8b.gph gopher.r-36.net 70 1parent 0de453a0f79eb0c1ea0f98a23d365a3394131e39 /scm/zs//commit/0de453a0f79eb0c1ea0f98a23d365a3394131e39.gph gopher.r-36.net 70 hAuthor: Christoph Lohmann <20h@r-36.net> URL:mailto:20h@r-36.net gopher.r-36.net 70 iDate: Sun, 9 Mar 2014 21:27:56 +0100 Err gopher.r-36.net 70 i Err gopher.r-36.net 70 iA more solid id and article merging. Err gopher.r-36.net 70 i Err gopher.r-36.net 70 iDiffstat: Err gopher.r-36.net 70 i feed.py | 15 +++++++++++---- Err gopher.r-36.net 70 i feeddb.py | 11 ++++++++--- Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i2 files changed, 19 insertions(+), 7 deletions(-) Err gopher.r-36.net 70 i--- Err gopher.r-36.net 70 1diff --git a/feed.py b/feed.py /scm/zs//file/feed.py.gph gopher.r-36.net 70 i@@ -106,10 +106,6 @@ def parse(astr): Err gopher.r-36.net 70 i elif hasattr(entry, "source"): Err gopher.r-36.net 70 i article["link"] = str(entry.source) Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i- # id Err gopher.r-36.net 70 i- if hasattr(entry, "id"): Err gopher.r-36.net 70 i- article["id"] = str(entry["id"]) Err gopher.r-36.net 70 i- Err gopher.r-36.net 70 i # enclosure Err gopher.r-36.net 70 i if hasattr(entry, "enclosure"): Err gopher.r-36.net 70 i if "href" in entry.enclosure.attrib: Err gopher.r-36.net 70 i@@ -156,6 +152,17 @@ def parse(astr): Err gopher.r-36.net 70 i elif hasattr(entry, "description"): Err gopher.r-36.net 70 i article["text"] = str(entry.description) Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i+ # id Err gopher.r-36.net 70 i+ if hasattr(entry, "id"): Err gopher.r-36.net 70 i+ article["id"] = str(entry["id"]) Err gopher.r-36.net 70 i+ else: Err gopher.r-36.net 70 i+ if "link" in article: Err gopher.r-36.net 70 i+ article["id"] = article["link"] Err gopher.r-36.net 70 i+ elif "file" in article: Err gopher.r-36.net 70 i+ article["id"] = article["file"] Err gopher.r-36.net 70 i+ else: Err gopher.r-36.net 70 i+ article["id"] = article["text"][:30] Err gopher.r-36.net 70 i+ Err gopher.r-36.net 70 i articles.append(article) Err gopher.r-36.net 70 i feed["articles"] = articles Err gopher.r-36.net 70 i Err gopher.r-36.net 70 1diff --git a/feeddb.py b/feeddb.py /scm/zs//file/feeddb.py.gph gopher.r-36.net 70 i@@ -134,7 +134,9 @@ class feeddb(object): Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i history = feed["articles"] Err gopher.r-36.net 70 i for article in curfeed["articles"]: Err gopher.r-36.net 70 i- if not article in history: Err gopher.r-36.net 70 i+ a = [art for art in history if art["id"] == \ Err gopher.r-36.net 70 i+ article["id"]] Err gopher.r-36.net 70 i+ if len(a) == 0: Err gopher.r-36.net 70 i article["unread"] = True Err gopher.r-36.net 70 i history.append(article) Err gopher.r-36.net 70 i rarticles.append(article) Err gopher.r-36.net 70 i@@ -175,8 +177,11 @@ class feeddb(object): Err gopher.r-36.net 70 i return Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i for article in curfeed["articles"]: Err gopher.r-36.net 70 i- if article in feed["articles"]: Err gopher.r-36.net 70 i- article["unread"] == False Err gopher.r-36.net 70 i+ a = [art for art in history if art["id"] == \ Err gopher.r-36.net 70 i+ article["id"]] Err gopher.r-36.net 70 i+ if len(a) > 0: Err gopher.r-36.net 70 i+ for aa in a: Err gopher.r-36.net 70 i+ a["unread"] = False: Err gopher.r-36.net 70 i self.writefeed(uri, feed); Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i def resetarticles(self, uri): Err gopher.r-36.net 70 .