]> andersk Git - jira-zephyrbot.git/commitdiff
Make feed-to-zephyr into a function.
authorAnders Kaseorg <andersk@mit.edu>
Fri, 13 Feb 2009 08:51:50 +0000 (03:51 -0500)
committerAnders Kaseorg <andersk@mit.edu>
Fri, 13 Feb 2009 08:51:50 +0000 (03:51 -0500)
jirabot.py

index 7c0c7d15b2c0b6a3bb5c72e372cae5d52498c360..1c646b88eb7cedd1d7271cb55e2154f64ee48410 100755 (executable)
@@ -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))
 
This page took 0.062745 seconds and 5 git commands to generate.