common: parse 'email (name)' correctly
authorSam Vilain <sam@vilain.net>
Thu, 9 Mar 2006 05:29:58 +0000 (18:29 +1300)
committerCatalin Marinas <catalin.marinas@gmail.com>
Fri, 10 Mar 2006 22:00:19 +0000 (22:00 +0000)
Currently only e-mails of the form "Name <email>" are accepted by
stgit import etc, however some people use "email (Name)".  Accept this
alternate form.

Signed-off-by: Sam Vilain <sam@vilain.net>
stgit/commands/common.py

index 2985379..4bfa4dd 100644 (file)
@@ -175,12 +175,15 @@ def push_patches(patches, check_merged = False):
 
 def name_email(address):
     """Return a tuple consisting of the name and email parsed from a
-    standard 'name <email>' string
+    standard 'name <email>' or 'email (name)' string
     """
     address = re.sub('[\\\\"]', '\\\\\g<0>', address)
     str_list = re.findall('^(.*)\s*<(.*)>\s*$', address)
     if not str_list:
-        raise CmdException, 'Incorrect "name <email>" string: %s' % address
+        str_list = re.findall('^(.*)\s*\((.*)\)\s*$', address)
+        if not str_list:
+            raise CmdException, 'Incorrect "name <email>"/"email (name)" string: %s' % address
+        return ( str_list[0][1], str_list[0][0] )
 
     return str_list[0]