[Erp5-report] r42002 kazuhiko - /erp5/trunk/products/PortalTransforms/transforms/safe_html.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Tue Jan 4 17:16:19 CET 2011
Author: kazuhiko
Date: Tue Jan 4 17:16:19 2011
New Revision: 42002
URL: http://svn.erp5.org?rev=42002&view=rev
Log:
use Python-2.6's HTMLParser's entitydefs initialisation logic that uses unicode instead of str.
Modified:
erp5/trunk/products/PortalTransforms/transforms/safe_html.py
Modified: erp5/trunk/products/PortalTransforms/transforms/safe_html.py
URL: http://svn.erp5.org/erp5/trunk/products/PortalTransforms/transforms/safe_html.py?rev=42002&r1=42001&r2=42002&view=diff
==============================================================================
--- erp5/trunk/products/PortalTransforms/transforms/safe_html.py [utf8] (original)
+++ erp5/trunk/products/PortalTransforms/transforms/safe_html.py [utf8] Tue Jan 4 17:16:19 2011
@@ -147,8 +147,6 @@ class StrippingParser(HTMLParser):
Copyright (c) 2001 Zope Corporation and Contributors. All Rights Reserved.
"""
- from htmlentitydefs import entitydefs # replace entitydefs from sgmllib
-
def __init__(self, valid, nasty, remove_javascript, raise_error,
default_encoding):
HTMLParser.__init__( self )
@@ -180,6 +178,15 @@ class StrippingParser(HTMLParser):
def handle_entityref(self, name):
if self.suppress: return
+ # (begin) copied from Python-2.6's HTMLParser.py
+ # Cannot use name2codepoint directly, because HTMLParser supports apos,
+ # which is not part of HTML 4
+ if self.entitydefs is None:
+ import htmlentitydefs
+ entitydefs = HTMLParser.entitydefs = {'apos':u"'"}
+ for k, v in htmlentitydefs.name2codepoint.iteritems():
+ entitydefs[k] = unichr(v)
+ # (end) copied from Python-2.6's HTMLParser.py
if self.entitydefs.has_key(name):
x = ';'
else:
More information about the Erp5-report
mailing list