forked from mailgun/talon
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix issue mailgun#220 cut out text lines starting from " -- forwarded messages --"
- Loading branch information
Showing
1 changed file
with
6 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -238,6 +238,7 @@ def mark_message_lines(lines): | |
* m - line that starts with quotation marker '>' | ||
* s - splitter line | ||
* t - presumably lines from the last message in the conversation | ||
* f - forwarded message line | ||
>>> mark_message_lines(['answer', 'From: [email protected]', '', '> question']) | ||
'tsem' | ||
|
@@ -287,9 +288,9 @@ def process_marked_lines(lines, markers, return_flags=[False, -1, -1]): | |
if 's' not in markers and not re.search('(me*){3}', markers): | ||
markers = markers.replace('m', 't') | ||
|
||
if re.match('[te]*f', markers): | ||
return_flags[:] = [False, -1, -1] | ||
return lines | ||
# if re.match('[te]*f', markers): | ||
# return_flags[:] = [False, -1, -1] | ||
# return lines | ||
|
||
# inlined reply | ||
# use lookbehind assertions to find overlapping entries e.g. for 'mtmtm' | ||
|
@@ -304,8 +305,8 @@ def process_marked_lines(lines, markers, return_flags=[False, -1, -1]): | |
return_flags[:] = [False, -1, -1] | ||
return lines | ||
|
||
# cut out text lines coming after splitter if there are no markers there | ||
quotation = re.search('(se*)+((t|f)+e*)+', markers) | ||
# cut out text lines coming after splitter or forwarded message line if there are no markers there | ||
quotation = re.search('((se*)+((t|f)+e*)+|f)', markers) | ||
if quotation: | ||
return_flags[:] = [True, quotation.start(), len(lines)] | ||
return lines[:quotation.start()] | ||
|