iMoving from urllib to requests and add testfeed. - 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 f29afa30f2666e89c18c0b6c4db3a405bdc9aa13 /scm/zs//commit/f29afa30f2666e89c18c0b6c4db3a405bdc9aa13.gph gopher.r-36.net 70 1parent 413f6c943226db4abb04d269d58cac9d6695e26c /scm/zs//commit/413f6c943226db4abb04d269d58cac9d6695e26c.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, 24 Oct 2015 21:39:25 +0200 Err gopher.r-36.net 70 i Err gopher.r-36.net 70 iMoving from urllib to requests and add testfeed. 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 | 15 +++++++++++++-- Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i2 files changed, 17 insertions(+), 8 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 i@@ -9,7 +9,7 @@ from lxml import objectify Err gopher.r-36.net 70 i from lxml import etree 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-import urllib.request, urllib.parse, urllib.error Err gopher.r-36.net 70 i+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 Err gopher.r-36.net 70 i@@ -228,10 +228,8 @@ def parse(astr): Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i return feed Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i-class feedopener(urllib.request.FancyURLopener): Err gopher.r-36.net 70 i- version = "Zeitungsschau/1.0" Err gopher.r-36.net 70 i-urllib.request._urlopener = feedopener Err gopher.r-36.net 70 i- Err gopher.r-36.net 70 i def fetch(uri): Err gopher.r-36.net 70 i- return parse(urllib.request.urlopen(uri, timeout=5).read()) Err gopher.r-36.net 70 i+ return parse(requests.get(uri, timeout=5,\ Err gopher.r-36.net 70 i+ headers={"User-Agent": "Zeitungsschau/1.0"}).text.\ Err gopher.r-36.net 70 i+ encode("utf-8")) Err gopher.r-36.net 70 i Err gopher.r-36.net 70 1diff --git a/zs b/zs /scm/zs//file/zs.gph gopher.r-36.net 70 i@@ -16,6 +16,7 @@ import socket Err gopher.r-36.net 70 i import http.client Err gopher.r-36.net 70 i import ssl Err gopher.r-36.net 70 i import getopt Err gopher.r-36.net 70 i+import pprint Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i dodebug = False Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i@@ -130,6 +131,16 @@ def main(args): Err gopher.r-36.net 70 i if len(largs) < 1: Err gopher.r-36.net 70 i usage(args[0]) Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i+ if largs[0] == "testfeed": Err gopher.r-36.net 70 i+ if len(largs) < 2: Err gopher.r-36.net 70 i+ print("usage: %s testfeed URI\n" % \ Err gopher.r-36.net 70 i+ (os.path.basename(args[0]))) Err gopher.r-36.net 70 i+ return 1 Err gopher.r-36.net 70 i+ Err gopher.r-36.net 70 i+ fe = feed.fetch(largs[1]) Err gopher.r-36.net 70 i+ pprint.pprint(fe) Err gopher.r-36.net 70 i+ return 0 Err gopher.r-36.net 70 i+ Err gopher.r-36.net 70 i db = feeddb.feeddb() Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i if largs[0] == "run": Err gopher.r-36.net 70 i@@ -175,8 +186,8 @@ def main(args): Err gopher.r-36.net 70 i elif largs[0] == "listuuids": Err gopher.r-36.net 70 i if len(largs) < 2: Err gopher.r-36.net 70 i usage(args[0]) Err gopher.r-36.net 70 i- feed = db.readfeed(largs[1]) Err gopher.r-36.net 70 i- for art in feed["articles"]: Err gopher.r-36.net 70 i+ rfeed = db.readfeed(largs[1]) Err gopher.r-36.net 70 i+ for art in rfeed["articles"]: Err gopher.r-36.net 70 i print("%s: %s: %s" % (art["uuid"], art["link"],\ Err gopher.r-36.net 70 i art["title"])) Err gopher.r-36.net 70 i Err gopher.r-36.net 70 .