iFix some feed issue and resolve incomplete reads. - 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 0626d417d52845d03223244faa8238210ff87229 /scm/zs//commit/0626d417d52845d03223244faa8238210ff87229.gph gopher.r-36.net 70 1parent de38800ce7a8ad243771b74cf84e36a84aebc0d1 /scm/zs//commit/de38800ce7a8ad243771b74cf84e36a84aebc0d1.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: Tue, 18 Mar 2014 06:38:41 +0100 Err gopher.r-36.net 70 i Err gopher.r-36.net 70 iFix some feed issue and resolve incomplete reads. Err gopher.r-36.net 70 i Err gopher.r-36.net 70 iDiffstat: Err gopher.r-36.net 70 i feeddb.py | 12 +++++++----- Err gopher.r-36.net 70 i zs.py | 4 ++++ Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i2 files changed, 11 insertions(+), 5 deletions(-) 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@@ -110,18 +110,20 @@ class feeddb(object): Err gopher.r-36.net 70 i feed = self.readfeed(uri) Err gopher.r-36.net 70 i if feed == None: Err gopher.r-36.net 70 i return None Err gopher.r-36.net 70 i+ if key not in feed: Err gopher.r-36.net 70 i+ return None Err gopher.r-36.net 70 i return feed[key] Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i def setretry(self, uri, retries): Err gopher.r-36.net 70 i self.setfeedval(uri, "retry", retries) Err gopher.r-36.net 70 i- Err gopher.r-36.net 70 i- def incretry(self, uri): Err gopher.r-36.net 70 i+ Err gopher.r-36.net 70 i+ def getretry(self, uri): Err gopher.r-36.net 70 i retries = self.getfeedval(uri, "retry") Err gopher.r-36.net 70 i if retries == None: Err gopher.r-36.net 70 i- self.setfeedval(uri, "retry", 1) Err gopher.r-36.net 70 i+ return 0 Err gopher.r-36.net 70 i else: Err gopher.r-36.net 70 i- self.setfeedval(uri, "retry", retries+1) Err gopher.r-36.net 70 i- Err gopher.r-36.net 70 i+ return retries Err gopher.r-36.net 70 i+ Err gopher.r-36.net 70 i def pause(self, uri): Err gopher.r-36.net 70 i self.setfeedval(uri, "pause", True) Err gopher.r-36.net 70 i Err gopher.r-36.net 70 1diff --git a/zs.py b/zs.py /scm/zs//file/zs.py.gph gopher.r-36.net 70 i@@ -13,6 +13,7 @@ import opml Err gopher.r-36.net 70 i import feedemail Err gopher.r-36.net 70 i import urllib.error Err gopher.r-36.net 70 i import socket Err gopher.r-36.net 70 i+import http.client Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i def run(db, selfeed=None, dryrun=False): Err gopher.r-36.net 70 i feeduris = db.listfeeds() Err gopher.r-36.net 70 i@@ -41,6 +42,9 @@ def run(db, selfeed=None, dryrun=False): Err gopher.r-36.net 70 i except ConnectionResetError: Err gopher.r-36.net 70 i estr = "connreset" Err gopher.r-36.net 70 i retries += 1 Err gopher.r-36.net 70 i+ except http.client.IncompleteRead: Err gopher.r-36.net 70 i+ estr = "incompleteread" Err gopher.r-36.net 70 i+ continue Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i # retry handling Err gopher.r-36.net 70 i if estr != None: Err gopher.r-36.net 70 .