From 7c182375af38cab4ac418d8191c28bac3218188f Mon Sep 17 00:00:00 2001 From: Robert Sparks Date: Mon, 19 Dec 2016 20:38:51 +0000 Subject: [PATCH] Change how we display review text to follow the tecnique used with other large blocks of pasted or imported text (shepherds writeups for instance). Fixes #2104. Commit ready for merge. - Legacy-Id: 12588 --- ietf/doc/utils.py | 8 ++------ ietf/doc/views_doc.py | 6 ++++-- ietf/templates/doc/document_review.html | 2 +- ietf/utils/markup_txt.py | 13 +++++++------ 4 files changed, 14 insertions(+), 15 deletions(-) diff --git a/ietf/doc/utils.py b/ietf/doc/utils.py index 006126d60..50e8841ba 100644 --- a/ietf/doc/utils.py +++ b/ietf/doc/utils.py @@ -297,7 +297,7 @@ def add_events_message_info(events): e.in_reply_to = e.addedmessageevent.in_reply_to -def get_unicode_document_content(key, filename, split=True, markup=True, codec='utf-8', errors='ignore', width=None): +def get_unicode_document_content(key, filename, codec='utf-8', errors='ignore'): try: with open(filename, 'rb') as f: raw_content = f.read().decode(codec,errors) @@ -305,11 +305,7 @@ def get_unicode_document_content(key, filename, split=True, markup=True, codec=' error = "Error; cannot read ("+key+")" return error - if markup: - return markup_txt.markup_unicode(raw_content, split, width) - else: - return raw_content - + return raw_content def get_document_content(key, filename, split=True, markup=True): try: diff --git a/ietf/doc/views_doc.py b/ietf/doc/views_doc.py index 5b3fe9857..ab950d406 100644 --- a/ietf/doc/views_doc.py +++ b/ietf/doc/views_doc.py @@ -582,8 +582,10 @@ def document_main(request, name, rev=None): if doc.type_id == "review": basename = "{}.txt".format(doc.name, doc.rev) pathname = os.path.join(doc.get_file_path(), basename) - content = get_unicode_document_content(basename, pathname, split=False, width=80) - + content = get_unicode_document_content(basename, pathname) + # If we want to go back to using markup_txt.markup_unicode, call it explicitly here like this: + # content = markup_txt.markup_unicode(content, split=False, width=80) + review_req = ReviewRequest.objects.filter(review=doc.name).first() other_reviews = [] diff --git a/ietf/templates/doc/document_review.html b/ietf/templates/doc/document_review.html index bee6ab3b6..2f0232497 100644 --- a/ietf/templates/doc/document_review.html +++ b/ietf/templates/doc/document_review.html @@ -113,6 +113,6 @@

{{ doc.type.name }}
{{ doc.name }}

{% if doc.rev and content != None %} - {{ content|safe|keep_spacing|sanitize_html|safe }} +
{{ content|urlize|safe|sanitize_html|safe }}
{% endif %} {% endblock %} diff --git a/ietf/utils/markup_txt.py b/ietf/utils/markup_txt.py index ff2c96b06..0779baeb3 100644 --- a/ietf/utils/markup_txt.py +++ b/ietf/utils/markup_txt.py @@ -78,7 +78,7 @@ def markup(content, split=True, width=None): else: return "
" + content + "
\n" -def markup_unicode(content, split=True, width=None): +def markup_unicode(content, split=True, width=None, container_classes=None): # normalize line endings to LF only content = content.replace("\r\n", "\n") content = content.replace("\r", "\n") @@ -93,11 +93,12 @@ def markup_unicode(content, split=True, width=None): content = fill(content, width) # expand tabs + escape - content = escape(content.expandtabs()) + content_to_show = escape(content.expandtabs()) if split: n = content.find("\n", 5000) - content1 = "
"+content[:n+1]+"
\n" - return content1 - else: - return "
" + content + "
\n" + content_to_show = content_to_show[:n+1] + + pre = '
' % container_classes if container_classes else '
'
+
+    return pre+content_to_show+'
\n'