]> piware.de Git - bin.git/commitdiff
workitems: add assignee parsing for moin pages
authormartin@piware.de <>
Thu, 26 Nov 2009 10:43:59 +0000 (11:43 +0100)
committermartin@piware.de <>
Thu, 26 Nov 2009 10:43:59 +0000 (11:43 +0100)
workitems.py

index e90b09d8b1764262b6472f11e6d86f9f792605a8..95f8a04a4a163e26cd2c34f86dd223e37922d2f5 100755 (executable)
@@ -213,23 +213,31 @@ def get_moin_workitems(url):
 
     Every line starting with "|| " is treated as a work item.
 
-    Return a list of ('item', 'status') pairs.
+    Return a list of ('item', 'status', 'assignee') tuples.
     '''
     result = []
     for line in urllib.urlopen(url):
+        assignee = 'nobody'
         if line.startswith('|| '):
             fields = line.strip().split('||')
             assert not fields[0] # should be empty
             desc = fields[1].strip()
             for f in fields[2:]:
-                if 'DONE' in f:
-                    result.append((desc, 'done'))
-                    break
-                elif 'POSTPONED' in f:
-                    result.append((desc, 'done'))
-                    break
+                if 'DONE' in f or 'POSTPONED' in f or 'TODO' in f or 'INPROGRESS' in f:
+                    ff = f.split()
+                    if len(ff) == 2:
+                        assignee = ff[1]
+                    if 'DONE' in f:
+                        result.append((desc, 'done', assignee))
+                        break
+                    elif 'POSTPONED' in f:
+                        result.append((desc, 'postponed', assignee))
+                        break
+                    else:
+                        result.append((desc, 'todo', assignee))
+                        break
             else:
-                result.append((desc, 'todo'))
+                result.append((desc, 'todo', 'nobody'))
 
     return result
 
@@ -475,8 +483,8 @@ def import_moin(db, urls):
     '''Collect blueprint work items from a moin wiki.'''
 
     for url in urls:
-        for (d, s) in get_moin_workitems(url):
-            add_work_item(db, url, d, s, 'nobody')
+        for (d, s, a) in get_moin_workitems(url):
+            add_work_item(db, url, d, s, a)
 
 #
 # main