Split the comment lines so that they are not over 80 characters
This commit is contained in:
@@ -300,8 +300,10 @@ def preprocess(msg_body, delimiter, content_type='text/plain'):
|
|||||||
|
|
||||||
|
|
||||||
def _replace_link_brackets(msg_body):
|
def _replace_link_brackets(msg_body):
|
||||||
"""Normalize links i.e. replace '<', '>' wrapping the link with some symbols
|
"""
|
||||||
so that '>' closing the link couldn't be mistakenly taken for quotation marker.
|
Normalize links i.e. replace '<', '>' wrapping the link with some symbols
|
||||||
|
so that '>' closing the link couldn't be mistakenly taken for quotation
|
||||||
|
marker.
|
||||||
|
|
||||||
Converts msg_body into a unicode
|
Converts msg_body into a unicode
|
||||||
"""
|
"""
|
||||||
@@ -320,7 +322,8 @@ def _replace_link_brackets(msg_body):
|
|||||||
|
|
||||||
|
|
||||||
def _wrap_splitter_with_newline(msg_body, delimiter, content_type='text/plain'):
|
def _wrap_splitter_with_newline(msg_body, delimiter, content_type='text/plain'):
|
||||||
"""Splits line in two if splitter pattern preceded by some text on the same
|
"""
|
||||||
|
Splits line in two if splitter pattern preceded by some text on the same
|
||||||
line (done only for 'On <date> <person> wrote:' pattern.
|
line (done only for 'On <date> <person> wrote:' pattern.
|
||||||
"""
|
"""
|
||||||
def splitter_wrapper(splitter):
|
def splitter_wrapper(splitter):
|
||||||
@@ -473,11 +476,12 @@ def _extract_from_html(msg_body):
|
|||||||
|
|
||||||
def split_emails(msg):
|
def split_emails(msg):
|
||||||
"""
|
"""
|
||||||
Given a message (which may consist of an email conversation thread with multiple emails), mark the lines to identify
|
Given a message (which may consist of an email conversation thread with
|
||||||
split lines, content lines and empty lines.
|
multiple emails), mark the lines to identify split lines, content lines and
|
||||||
|
empty lines.
|
||||||
|
|
||||||
Correct the split line markers inside header blocks. Header blocks are identified by the regular expression
|
Correct the split line markers inside header blocks. Header blocks are
|
||||||
RE_HEADER.
|
identified by the regular expression RE_HEADER.
|
||||||
|
|
||||||
Return the corrected markers
|
Return the corrected markers
|
||||||
"""
|
"""
|
||||||
@@ -497,8 +501,9 @@ def split_emails(msg):
|
|||||||
|
|
||||||
def _mark_quoted_email_splitlines(markers, lines):
|
def _mark_quoted_email_splitlines(markers, lines):
|
||||||
"""
|
"""
|
||||||
When there are headers indented with '>' characters, this method will attempt to identify if the header is a
|
When there are headers indented with '>' characters, this method will
|
||||||
splitline header. If it is, then we mark it with 's' instead of leaving it as 'm' and return the new markers.
|
attempt to identify if the header is a splitline header. If it is, then we
|
||||||
|
mark it with 's' instead of leaving it as 'm' and return the new markers.
|
||||||
"""
|
"""
|
||||||
# Create a list of markers to easily alter specific characters
|
# Create a list of markers to easily alter specific characters
|
||||||
markerlist = list(markers)
|
markerlist = list(markers)
|
||||||
@@ -515,13 +520,15 @@ def _mark_quoted_email_splitlines(markers, lines):
|
|||||||
|
|
||||||
|
|
||||||
def _correct_splitlines_in_headers(markers, lines):
|
def _correct_splitlines_in_headers(markers, lines):
|
||||||
"""Corrects markers by removing splitlines deemed to be inside header blocks"""
|
"""
|
||||||
|
Corrects markers by removing splitlines deemed to be inside header blocks.
|
||||||
|
"""
|
||||||
updated_markers = ""
|
updated_markers = ""
|
||||||
i = 0
|
i = 0
|
||||||
in_header_block = False
|
in_header_block = False
|
||||||
|
|
||||||
for m in markers:
|
for m in markers:
|
||||||
# Only set in_header_block flag true when we hit an 's' and the line is a header.
|
# Only set in_header_block flag when we hit an 's' and line is a header
|
||||||
if m == 's':
|
if m == 's':
|
||||||
if not in_header_block:
|
if not in_header_block:
|
||||||
if bool(re.search(RE_HEADER, lines[i])):
|
if bool(re.search(RE_HEADER, lines[i])):
|
||||||
|
|||||||
Reference in New Issue
Block a user