Fix #77 html code inside document viewer.
authorgibus
Thu, 14 Jun 2012 11:43:46 +0200
changeset 450 81fa74c112b8
parent 449 5387c032df35
child 451 7b162e485634
Fix #77 html code inside document viewer.
src/cm/utils/spannifier.py
src/cm/views/texts.py
--- a/src/cm/utils/spannifier.py	Tue Jun 12 14:00:32 2012 +0200
+++ b/src/cm/utils/spannifier.py	Thu Jun 14 11:43:46 2012 +0200
@@ -35,6 +35,11 @@
             span_starts[i] = len(''.join(textNodes_content))
             textNodes_content.append(textNode.string)
     output = unicode(soup)
+    # Soup has introduced HTML entities, which should be expanded
+    output =re.sub(r""", '"', output)
+    output =re.sub(r"&", '&', output)
+    output =re.sub(r">", '>', output)
+    output =re.sub(r"&lt;", '<', output)
          
     textualized = ''.join(textNodes_content)
     return output, textualized, span_starts
--- a/src/cm/views/texts.py	Tue Jun 12 14:00:32 2012 +0200
+++ b/src/cm/views/texts.py	Thu Jun 14 11:43:46 2012 +0200
@@ -355,11 +355,6 @@
         html = pandoc_convert(original_content, original_format, 'html')
         wrapped_text_version, _ , _ = spannify(html)
         with_markers = True
-        # Tidy has introduced HTML entities, which should be expanded to keep correct offsets of comments.
-        wrapped_text_version =re.sub(r"&quot;", '"', wrapped_text_version)
-        wrapped_text_version =re.sub(r"&amp;", '&', wrapped_text_version)
-        wrapped_text_version =re.sub(r"&gt;", '>', wrapped_text_version)
-        wrapped_text_version =re.sub(r"&lt;", '<', wrapped_text_version)
         marked_content = insert_comment_markers(wrapped_text_version, comments, with_markers, with_color)
     
         viewable_comments = comments_thread(request, text_version, text)