We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent e638ba3 commit ddd8755Copy full SHA for ddd8755
parse.py
@@ -97,7 +97,7 @@ def printOutput(parser, document, opts):
97
for opt in ['inject_meta_charset', 'strip_whitespace', 'sanitize',
98
'omit_optional_tags', 'quote_attr_values', 'quote_char',
99
'use_best_quote_char', 'minimize_boolean_attributes',
100
- 'use_trailing_solidus']:
+ 'use_trailing_solidus', 'escape_lt_in_attrs']:
101
kwargs[opt] = getattr(opts,opt)
102
if not kwargs['quote_char']: del kwargs['quote_char']
103
tokens = treewalkers.getTreeWalker(opts.treebuilder)(document)
@@ -178,6 +178,10 @@ def getOptParser():
178
default=False, dest="use_trailing_solidus",
179
help="use trailing solidus")
180
181
+ parser.add_option("", "--escape_lt_in_attrs", action="store_true",
182
+ default=False, dest="escape_lt_in_attrs",
183
+ help="escape less than signs in attribute values")
184
+
185
parser.add_option("", "--sanitize", action="store_true", default=False,
186
dest="sanitize", help="sanitize")
187
src/serializer.py
@@ -64,6 +64,7 @@ class HTMLSerializer(object):
64
65
use_trailing_solidus = False
66
space_before_trailing_solidus = True
67
+ escape_lt_in_attrs = False
68
69
omit_optional_tags = True
70
@@ -77,7 +78,7 @@ def __init__(self, **kwargs):
77
78
for attr in ("quote_attr_values", "quote_char", "use_best_quote_char",
79
"minimize_boolean_attributes", "use_trailing_solidus",
80
"space_before_trailing_solidus", "omit_optional_tags",
- "strip_whitespace", "inject_meta_charset"):
81
+ "strip_whitespace", "inject_meta_charset", "escape_lt_in_attrs"):
82
setattr(self, attr, kwargs.get(attr, getattr(self, attr)))
83
self.errors = []
84
self.strict = False
@@ -142,6 +143,7 @@ def serialize(self, treewalker, encoding=None):
142
143
quote_attr = reduce(lambda x,y: x or (y in v),
144
spaceCharacters + "<>\"'", False)
145
v = v.replace("&", "&")
146
+ if self.escape_lt_in_attrs: v = v.replace("<", "<")
147
if encoding:
148
v = encode(v, encoding)
149
if quote_attr:
0 commit comments