From: Anders Kaseorg Date: Fri, 13 Feb 2009 08:51:50 +0000 (-0500) Subject: Make feed-to-zephyr into a function. X-Git-Url: http://andersk.mit.edu/gitweb/jira-zephyrbot.git/commitdiff_plain/0344134a46bcd3c0273c376b2c3329e8ac60d104 Make feed-to-zephyr into a function. --- diff --git a/jirabot.py b/jirabot.py index 7c0c7d1..1c646b8 100755 --- a/jirabot.py +++ b/jirabot.py @@ -40,6 +40,26 @@ def jira_login(b): 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 @@ -102,25 +122,8 @@ old_time = int(open(time_file_new).read()) 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))