diff options
author | Evgeny Fadeev <evgeny.fadeev@gmail.com> | 2013-08-07 05:25:09 -0400 |
---|---|---|
committer | Evgeny Fadeev <evgeny.fadeev@gmail.com> | 2013-08-07 05:25:09 -0400 |
commit | c08ef2fb2e04c72dd79a799cd0fc6426303acbbe (patch) | |
tree | e9fbaae7eee1e2b519852fa4c8a9cc505befed4b | |
parent | 5d3d864484a8b6b70561d65c92567c5c42435bba (diff) | |
download | askbot-c08ef2fb2e04c72dd79a799cd0fc6426303acbbe.tar.gz askbot-c08ef2fb2e04c72dd79a799cd0fc6426303acbbe.tar.bz2 askbot-c08ef2fb2e04c72dd79a799cd0fc6426303acbbe.zip |
fixed latest outlook stripping
-rw-r--r-- | askbot/mail/parsing.py | 30 | ||||
-rw-r--r-- | askbot/tests/email_parsing_tests.py | 12 |
2 files changed, 29 insertions, 13 deletions
diff --git a/askbot/mail/parsing.py b/askbot/mail/parsing.py index 9857252e..46e5250f 100644 --- a/askbot/mail/parsing.py +++ b/askbot/mail/parsing.py @@ -14,14 +14,23 @@ from askbot.conf import settings as askbot_settings #expressions are stripped of month and day names #to keep them simpler and make the additions of language variants #easier. -GMAIL_QUOTE_RE = r'\nOn [^\n]* wrote:\Z' -GMAIL_SECOND_QUOTE_RE = r'\n\d{4}/\d{1,2}/\d{1,2} [^\n]*\Z' -YAHOO_QUOTE_RE = r'\n_+\n\s*From: [^\n]+\nTo: [^\n]+\nSent: [^\n]+\nSubject: [^\n]+\Z' -KMAIL_QUOTE_RE = r'\AOn [^\n]+ you wrote:\s*\n\n' -OUTLOOK_RTF_QUOTE_RE = r'\nSubject: [^\n]+\nFrom: [^\n]+\nTo: [^\n]+\nDate: [^\n]+\Z' -OUTLOOK_TEXT_QUOTE_RE = r'\n_+\Z' +QUOTE_REGEXES = ( + #GMAIL_QUOTE_RE = + r'\nOn [^\n]* wrote:\Z', + #GMAIL_SECOND_QUOTE_RE = + r'\n\d{4}/\d{1,2}/\d{1,2} [^\n]*\Z', + #OUTLOOK1_QUOTE_RE = + r'\n-+Original Message-+\nFrom:.*?\nSent:.*?\nTo:.*?\nSubject:.*?\Z', + #YAHOO_QUOTE_RE = + r'\n_+\n\s*From: [^\n]+\nTo: [^\n]+\nSent: [^\n]+\nSubject: [^\n]+\Z', + #KMAIL_QUOTE_RE = + r'\AOn [^\n]+ you wrote:\s*\n\n', + #OUTLOOK_RTF_QUOTE_RE = + r'\nSubject: [^\n]+\nFrom: [^\n]+\nTo: [^\n]+\nDate: [^\n]+\Z', + #OUTLOOK_TEXT_QUOTE_RE = + r'\n_+\Z', +) -OUTLOOK1_QUOTE_RE = r'\n-+Original Message-+\nFrom:.*\nSent:.*\nTo:.*Subject\n' # extra samples """ @@ -35,13 +44,8 @@ Subject: "One more test question from email."^M def compile_quote_regexes(): - regex_names = filter( - lambda v: v.endswith('_QUOTE_RE'), - globals().keys() - ) compiled_regexes = list() - for regex_name in regex_names: - regex = globals()[regex_name] + for regex in QUOTE_REGEXES: compiled_regexes.append( re.compile( regex, diff --git a/askbot/tests/email_parsing_tests.py b/askbot/tests/email_parsing_tests.py index 9a5ff126..dc1e82f2 100644 --- a/askbot/tests/email_parsing_tests.py +++ b/askbot/tests/email_parsing_tests.py @@ -53,3 +53,15 @@ class EmailParsingTests(utils.AskbotTestCase): mail.extract_reply(text), u'reply from hotmail without RTF' ) + + def test_outlook_desktop1(self): + text = """some real text + +-----Original Message----- +From: forum@example.com [mailto:forum@example.com] +Sent: Wednesday, August 07, 2013 11:00 AM +To: Jane Doe +Subject: "One more test question from email." + +""" + self.assertEqual(mail.extract_reply(text), "some real text") |