# HG changeset patch # User paulo # Date 1360654991 25200 # Node ID aca02ce71274497adf4d3b2b32adfd960b8ba1a6 # Parent 1d492a6d4237eb161da7a411021b93567916b491 myrss_app.py: add urlopen timeout, and render time diff -r 1d492a6d4237 -r aca02ce71274 myrss/myrss_app.py --- a/myrss/myrss_app.py Tue Feb 05 02:28:40 2013 -0700 +++ b/myrss/myrss_app.py Tue Feb 12 00:43:11 2013 -0700 @@ -20,6 +20,7 @@ MAX_ITEMS = 30 MAX_LINK_Z = 4 MAX_THREADS = 20 +URLOPEN_TIMEOUT = 60 # [seconds] _PARSE_ROOT_TAG_RE = re.compile(r"(\{(.+)\})?(.+)") @@ -107,6 +108,9 @@ p.a(it_title, href=it_link, klass="z%d" % (link_z % MAX_LINK_Z)) link_z += 1 + dtdelta = datetime.datetime.now() - dtnow + root.div("%.3f" % (dtdelta.days*86400 + dtdelta.seconds + dtdelta.microseconds/1e6), klass="debug") + return unicode(root).encode("utf-8") @@ -115,7 +119,7 @@ try: logging.info("processing %s" % url) - feed = urllib2.urlopen(urllib2.Request(url, headers={"User-Agent": ''})) + feed = urllib2.urlopen(urllib2.Request(url, headers={"User-Agent": ''}), timeout=URLOPEN_TIMEOUT) except urllib2.HTTPError as e: logging.info("(%s) %s" % (url, e)) return ret