summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEvgeny Fadeev <evgeny.fadeev@gmail.com>2013-08-07 05:25:09 -0400
committerEvgeny Fadeev <evgeny.fadeev@gmail.com>2013-08-07 05:25:09 -0400
commitc08ef2fb2e04c72dd79a799cd0fc6426303acbbe (patch)
treee9fbaae7eee1e2b519852fa4c8a9cc505befed4b
parent5d3d864484a8b6b70561d65c92567c5c42435bba (diff)
downloadaskbot-c08ef2fb2e04c72dd79a799cd0fc6426303acbbe.tar.gz
askbot-c08ef2fb2e04c72dd79a799cd0fc6426303acbbe.tar.bz2
askbot-c08ef2fb2e04c72dd79a799cd0fc6426303acbbe.zip
fixed latest outlook stripping
-rw-r--r--askbot/mail/parsing.py30
-rw-r--r--askbot/tests/email_parsing_tests.py12
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")