itUpdate objectifiy code to work with encoding declaration. - zs - Zeitungsschau rss to email converter Err gopher.r-36.net 70 hgit clone git://r-36.net/zs URL:git://r-36.net/zs 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 0aabb3ed2c6f959540a9bf48c7c8371778d008f0 /scm/zs/commit/0aabb3ed2c6f959540a9bf48c7c8371778d008f0.gph gopher.r-36.net 70 1parent 662c2a923b6c78163febd94eee17da36ed14242e /scm/zs/commit/662c2a923b6c78163febd94eee17da36ed14242e.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: Sat, 8 Aug 2020 11:59:11 +0200 Err gopher.r-36.net 70 i Err gopher.r-36.net 70 iUpdate objectifiy code to work with encoding declaration. Err gopher.r-36.net 70 i Err gopher.r-36.net 70 iDiffstat: Err gopher.r-36.net 70 i zeitungsschau/feed.py | 10 +++++----- Err gopher.r-36.net 70 i zs | 5 +++++ Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i2 files changed, 10 insertions(+), 5 deletions(-) Err gopher.r-36.net 70 i--- Err gopher.r-36.net 70 1diff --git a/zeitungsschau/feed.py b/zeitungsschau/feed.py /scm/zs/file/zeitungsschau/feed.py.gph gopher.r-36.net 70 it@@ -5,8 +5,9 @@ Err gopher.r-36.net 70 i # by 20h Err gopher.r-36.net 70 i # Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i-from lxml import objectify Err gopher.r-36.net 70 i-from lxml import etree Err gopher.r-36.net 70 i+import lxml Err gopher.r-36.net 70 i+import lxml.objectify Err gopher.r-36.net 70 i+import html Err gopher.r-36.net 70 i from datetime import datetime Err gopher.r-36.net 70 i import dateutil.parser Err gopher.r-36.net 70 i from dateutil.tz import gettz Err gopher.r-36.net 70 it@@ -14,7 +15,6 @@ import requests Err gopher.r-36.net 70 i import hashlib Err gopher.r-36.net 70 i import pytz Err gopher.r-36.net 70 i import codecs Err gopher.r-36.net 70 i-import html Err gopher.r-36.net 70 i import urllib.parse Err gopher.r-36.net 70 i import socket Err gopher.r-36.net 70 i import json Err gopher.r-36.net 70 it@@ -44,9 +44,10 @@ def removenamespaces(xml): Err gopher.r-36.net 70 i elem.tag = elem.tag[nsl:] Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i def parsexml(astr): Err gopher.r-36.net 70 i- xml = objectify.fromstring(astr) Err gopher.r-36.net 70 i+ xml = lxml.objectify.fromstring(html.unescape(astr.decode("utf-8")).encode("utf-8")) Err gopher.r-36.net 70 i removenamespaces(xml) Err gopher.r-36.net 70 i # Throw XML parsing errors so we can blame the feed authors. Err gopher.r-36.net 70 i+ #print(lxml.objectify.dump(xml)) Err gopher.r-36.net 70 i return xml Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i def parsetwtxtfeed(astr, uri): Err gopher.r-36.net 70 it@@ -399,7 +400,6 @@ def fetch(uri): Err gopher.r-36.net 70 i s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) Err gopher.r-36.net 70 i s.connect((host, port)) Err gopher.r-36.net 70 i s.send(("%s\r\n" % (selector)).encode("utf-8")) Err gopher.r-36.net 70 i- s.shutdown(1) Err gopher.r-36.net 70 i fd = s.makefile("r") Err gopher.r-36.net 70 i fval = fd.read().encode("utf-8") Err gopher.r-36.net 70 i s.close() Err gopher.r-36.net 70 1diff --git a/zs b/zs /scm/zs/file/zs.gph gopher.r-36.net 70 it@@ -52,6 +52,11 @@ def run(db, selfeed=None, dryrun=False, onlychanges=False): Err gopher.r-36.net 70 i print("fetch %s" % (feeduri)) Err gopher.r-36.net 70 i curfeed = None Err gopher.r-36.net 70 i rcode = 0 Err gopher.r-36.net 70 i+ Err gopher.r-36.net 70 i+ """ Err gopher.r-36.net 70 i+ # All errors. Err gopher.r-36.net 70 i+ (rcode, curfeed) = feed.fetch(feeduri) Err gopher.r-36.net 70 i+ """ Err gopher.r-36.net 70 i try: Err gopher.r-36.net 70 i (rcode, curfeed) = feed.fetch(feeduri) Err gopher.r-36.net 70 i except socket.gaierror: Err gopher.r-36.net 70 .