b.select_form(nr=0)
b.submit()
+def feed_to_zephyrs(thing, rss, parse):
+ zephyrs = []
+ try:
+ feed = feedparser.parse(rss)
+ for e in feed.entries:
+ global old_time, new_time
+ t = int(calendar.timegm(e.date_parsed))
+ if t <= old_time:
+ continue
+ if t > new_time:
+ new_time = t
+ try:
+ z = parse(e)
+ except:
+ z = zerror("Error parsing " + thing + ":\n" + e.id + "\n" + traceback.format_exc())
+ zephyrs.append((t, z))
+ except:
+ zephyrs.append((0, zerror("Error parsing " + thing + "s feed:\n" + traceback.format_exc())))
+ return zephyrs
+
def parse_issue(e):
issue = urlparse.urlparse(e.id)[2].rsplit('/', 1)[1]
url = e.id
new_time = old_time
zephyr.init()
-zephyrs = []
-
-for (thing, rss, parse) in [('issue', issues_rss, parse_issue),
- ('comment', comments_rss, parse_comment)]:
- try:
- feed = feedparser.parse(rss)
- for e in feed.entries:
- t = int(calendar.timegm(e.date_parsed))
- if t <= old_time:
- continue
- if t > new_time:
- new_time = t
- try:
- z = parse(e)
- except:
- z = zerror("Error parsing " + thing + ":\n" + e.id + "\n" + traceback.format_exc())
- zephyrs.append((t, z))
- except:
- zephyrs.append((0, zerror("Error parsing " + thing + "s feed:\n" + traceback.format_exc())))
+zephyrs = (feed_to_zephyrs('issue', issues_rss, parse_issue) +
+ feed_to_zephyrs('comment', comments_rss, parse_comment))
open(time_file_new, 'w').write(str(new_time))