bigboard r7295 - trunk/bigboard/stocks/mail
- From: otaylor svn gnome org
- To: svn-commits-list gnome org
- Subject: bigboard r7295 - trunk/bigboard/stocks/mail
- Date: Fri, 11 Apr 2008 23:14:41 +0100 (BST)
Author: otaylor
Date: Fri Apr 11 23:14:41 2008
New Revision: 7295
URL: http://svn.gnome.org/viewvc/bigboard?rev=7295&view=rev
Log:
Clean up mail subject unescaping and fix lack of re-escaping of content
Modified:
trunk/bigboard/stocks/mail/MailStock.py
Modified: trunk/bigboard/stocks/mail/MailStock.py
==============================================================================
--- trunk/bigboard/stocks/mail/MailStock.py (original)
+++ trunk/bigboard/stocks/mail/MailStock.py Fri Apr 11 23:14:41 2008
@@ -6,8 +6,6 @@
from xml.dom.minidom import Node
from StringIO import StringIO
-import simplejson
-
from bigboard.stock import Stock
from bigboard.slideout import ThemedSlideout
import bigboard.google as google
@@ -26,9 +24,9 @@
UNICHR_REPLACE = re.compile(r"\\u([A-F-a-f0-9]{4})")
def gmail_jshtml_str_parse(s, markup=False):
- s = s.replace(r'\>', '>')
- s = s.replace(r'\<', '<')
+ # Replace \uxxxx escapes
parsed_str = UNICHR_REPLACE.sub(replace_chr, s)
+
# At this point, we have a Python unicode string which *should* hold
# an XML fragment. Convert that fragment into a document string.
pystr = "<html>" + parsed_str + "</html>"
@@ -38,7 +36,7 @@
# Now we parse the XML, only allowing the bold tag through, and eating everything else
def DomToText(node):
if node.nodeType == Node.TEXT_NODE:
- textContent.write(node.data)
+ textContent.write(gobject.markup_escape_text(node.data))
if markup and node.nodeType == Node.ELEMENT_NODE and node.nodeName == 'b':
in_bold = True
textContent.write('<b>')
@@ -246,4 +244,4 @@
assert gmail_jshtml_str_parse(r'test \u003cb\>hi\u003c/b\> moo', True) == 'test <b>hi</b> moo'
# Strip unknown tag "A"
assert gmail_jshtml_str_parse(r'test \u003ca\>hi\u003c/a\> moo', True) == 'test hi moo'
-
\ No newline at end of file
+
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]