[#7856] ticket:757 Fix email regex
diff --git a/Allura/allura/model/auth.py b/Allura/allura/model/auth.py
index 8b06c73..bc16649 100644
--- a/Allura/allura/model/auth.py
+++ b/Allura/allura/model/auth.py
@@ -109,7 +109,7 @@
class EmailAddress(MappedClass):
- re_format = re.compile('^.* <(.*)>$')
+ re_format = re.compile('^.*\s+<(.*)>\s*$')
class __mongometa__:
name = 'email_address'
diff --git a/Allura/allura/tests/model/test_auth.py b/Allura/allura/tests/model/test_auth.py
index 4281bb1..5d1841b 100644
--- a/Allura/allura/tests/model/test_auth.py
+++ b/Allura/allura/tests/model/test_auth.py
@@ -106,7 +106,11 @@
assert_equal(M.EmailAddress.canonical(' nobody@example.com\t'),
'nobody@example.com')
assert_equal(M.EmailAddress.canonical('I Am@Nobody <nobody@example.com> '),
- 'I Am@Nobody <nobody@example.com>')
+ 'nobody@example.com')
+ assert_equal(M.EmailAddress.canonical(' No@body <no@body@example.com> '),
+ 'no@body@example.com')
+ assert_equal(M.EmailAddress.canonical('no@body@example.com'),
+ 'no@body@example.com')
assert_equal(M.EmailAddress.canonical('invalid'), None)
@with_setup(setUp)