Split the comment lines so that they are not over 80 characters

This commit is contained in:
smitcona
2017-02-13 16:45:26 +00:00
parent 489d16fad9
commit 5c71a0ca07

View File

@@ -300,8 +300,10 @@ def preprocess(msg_body, delimiter, content_type='text/plain'):
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
"""
@@ -320,7 +322,8 @@ def _replace_link_brackets(msg_body):
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.
"""
def splitter_wrapper(splitter):
@@ -473,11 +476,12 @@ def _extract_from_html(msg_body):
def split_emails(msg):
"""
Given a message (which may consist of an email conversation thread with multiple emails), mark the lines to identify
split lines, content lines and empty lines.
Given a message (which may consist of an email conversation thread with
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
RE_HEADER.
Correct the split line markers inside header blocks. Header blocks are
identified by the regular expression RE_HEADER.
Return the corrected markers
"""
@@ -497,8 +501,9 @@ def split_emails(msg):
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
splitline header. If it is, then we mark it with 's' instead of leaving it as 'm' and return the new markers.
When there are headers indented with '>' characters, this method will
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
markerlist = list(markers)
@@ -515,13 +520,15 @@ def _mark_quoted_email_splitlines(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 = ""
i = 0
in_header_block = False
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 not in_header_block:
if bool(re.search(RE_HEADER, lines[i])):