From: Stephen Finucane Date: Thu, 14 Apr 2016 16:38:57 +0000 (+0100) Subject: parser: Put more specific 'From' regex first X-Git-Tag: v2.0.0-rc1~265 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1f8697342902eef667c2458453ffe90a0b937553;p=thirdparty%2Fpatchwork.git parser: Put more specific 'From' regex first Multiple different 'From:' header styles are supported by the parser, but some of these are less specific than others. Attempt to parse using a more specific style before going with the more generic one. Signed-off-by: Stephen Finucane Reviewed-by: Andy Doan --- diff --git a/patchwork/parser.py b/patchwork/parser.py index b5f2ed6f..41694ca3 100644 --- a/patchwork/parser.py +++ b/patchwork/parser.py @@ -111,13 +111,13 @@ def find_author(mail): # for "Firstname Lastname" style addresses (re.compile(r'"?(.*?)"?\s*<([^>]+)>'), (lambda g: (g[0], g[1]))), - # for example@example.com (Firstname Lastname) style addresses - (re.compile(r'"?(.*?)"?\s*\(([^\)]+)\)'), (lambda g: (g[1], g[0]))), - # for example at example.com (Firstname Lastname) style addresses (re.compile(r'(.*?)\sat\s(.*?)\s*\(([^\)]+)\)'), (lambda g: (g[2], '@'.join(g[0:2])))), + # for example@example.com (Firstname Lastname) style addresses + (re.compile(r'"?(.*?)"?\s*\(([^\)]+)\)'), (lambda g: (g[1], g[0]))), + # everything else (re.compile(r'(.*)'), (lambda g: (None, g[0]))), ] diff --git a/patchwork/tests/test_parser.py b/patchwork/tests/test_parser.py index 684a6673..02845fb8 100644 --- a/patchwork/tests/test_parser.py +++ b/patchwork/tests/test_parser.py @@ -38,7 +38,6 @@ from patchwork.parser import find_pull_request from patchwork.parser import parse_mail as _parse_mail from patchwork.parser import parse_series_marker from patchwork.parser import split_prefixes -from patchwork.tests.utils import create_email from patchwork.tests.utils import create_project from patchwork.tests.utils import create_state from patchwork.tests.utils import create_user