]> xenbits.xensource.com Git - people/larsk/xenproject-org-gitdm.git/commitdiff
Move regular expressions out to patterns.py
authorJonathan Corbet <corbet@lwn.net>
Fri, 18 Jul 2008 21:04:55 +0000 (15:04 -0600)
committerJonathan Corbet <corbet@lwn.net>
Fri, 18 Jul 2008 21:04:55 +0000 (15:04 -0600)
...I need them for an associated tool I'm working on.

gitdm
patterns.py [new file with mode: 0644]

diff --git a/gitdm b/gitdm
index d580414b43256b93324d00f83a8051def590ef0b..5373b2630539db52d91dfc32d9380dd7ae85b8b2 100755 (executable)
--- a/gitdm
+++ b/gitdm
 import database, ConfigFile
 import getopt, datetime
 import os, re, sys, rfc822, string
-
-#
-# Some people, when confronted with a problem, think "I know, I'll use regular
-# expressions." Now they have two problems.
-#    -- Jamie Zawinski
-#
-Pcommit = re.compile (r'^commit ([0-9a-f]+)$')
-Pauthor = re.compile (r'^Author: ([^<]+)\s<([^>]+)>$')
-Psob = re.compile (r'Signed-off-by:\s+([^<]+)\s+<([^>]+)>')
-Pmerge = re.compile (r'^Merge:.*$')
-Padd = re.compile (r'^\+[^\+].*$')
-Prem = re.compile (r'^-[^-].*$')
-Pdate = re.compile (r'^(Commit)?Date:\s+(.*)$')
-Pfilea = re.compile (r'^---\s+(.*)$')
-Pfileb = re.compile (r'^\+\+\+\s+(.*)$')
+from patterns import *
 
 class patch:
     pass
@@ -117,7 +103,6 @@ def AddDateLines(date, lines):
     if lines > 1000000:
         print 'Skip big patch (%d)' % lines
         return
-    dt = (date.year, date.month, date.day)
     try:
         DateMap[date] += lines
     except KeyError:
@@ -130,7 +115,7 @@ def PrintDateStats():
     datef = open ('datelc', 'w')
     for date in dates:
         total += DateMap[date]
-        datef.write ('%d/%02d/%02d %6d %7d\n' % (date[0], date[1], date[2],
+        datef.write ('%d/%02d/%02d %6d %7d\n' % (date.year, date.month, date.day,
                                     DateMap[date], total))
 
 #
diff --git a/patterns.py b/patterns.py
new file mode 100644 (file)
index 0000000..b056f1d
--- /dev/null
@@ -0,0 +1,26 @@
+#
+# Pull together regular expressions used in multiple places.
+#
+import re
+
+#
+# Some people, when confronted with a problem, think "I know, I'll use regular
+# expressions." Now they have two problems.
+#    -- Jamie Zawinski
+#
+Pcommit = re.compile (r'^commit ([0-9a-f ]+)$')
+Pauthor = re.compile (r'^Author: ([^<]+)\s<([^>]+)>$')
+Psob = re.compile (r'Signed-off-by:\s+([^<]+)\s+<([^>]+)>')
+Pmerge = re.compile (r'^Merge:.*$')
+Padd = re.compile (r'^\+[^\+].*$')
+Prem = re.compile (r'^-[^-].*$')
+Pdate = re.compile (r'^(Commit)?Date:\s+(.*)$')
+Pfilea = re.compile (r'^---\s+(.*)$')
+Pfileb = re.compile (r'^\+\+\+\s+(.*)$')
+
+#
+# Merges are described with a variety of lines.
+#
+PExtMerge = re.compile(r'^ +Merge( branch .* of)? ([^ ]+)\n$')
+PIntMerge = re.compile(r'^ +(Merge|Pull) .* into .*$')
+PIntMerge2 = re.compile(r"^ +Merge branch(es)? '.*$")