Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit4768c64

Browse files
committed
Update characters that need be quoted in attributes in the serializer per spec
This also moves to using re, which seems far cleaner than the reduce-basedsearch previously used.
1 parent6bd01d0 commit4768c64

File tree

2 files changed

+6
-8
lines changed

2 files changed

+6
-8
lines changed

‎html5lib/serializer/htmlserializer.py

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
11
from __future__importabsolute_import,division,unicode_literals
22
fromsiximporttext_type
33

4-
try:
5-
fromfunctoolsimportreduce
6-
exceptImportError:
7-
pass
4+
importre
85

96
from ..constantsimportvoidElements,booleanAttributes,spaceCharacters
107
from ..constantsimportrcdataElements,entities,xmlEntities
@@ -13,6 +10,8 @@
1310

1411
spaceCharacters="".join(spaceCharacters)
1512

13+
quoteAttributeSpec=re.compile("["+spaceCharacters+"\"'=<>`]")
14+
1615
try:
1716
fromcodecsimportregister_error,xmlcharrefreplace_errors
1817
exceptImportError:
@@ -240,11 +239,10 @@ def serialize(self, treewalker, encoding=None):
240239
(knotinbooleanAttributes.get(name,tuple())and
241240
knotinbooleanAttributes.get("",tuple())):
242241
yieldself.encodeStrict("=")
243-
ifself.quote_attr_valuesornotv:
242+
ifself.quote_attr_values:
244243
quote_attr=True
245244
else:
246-
quote_attr=reduce(lambdax,y:xor (yinv),
247-
spaceCharacters+">\"'=",False)
245+
quote_attr=len(v)==0orquoteAttributeSpec.search(v)
248246
v=v.replace("&","&amp;")
249247
ifself.escape_lt_in_attrs:
250248
v=v.replace("<","&lt;")

‎html5lib/tests/serializer-testdata/core.test

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
},
4343
{
4444
"expected": [
45-
"<span title=foo<bar>"
45+
"<span title=\"foo<bar\">"
4646
],
4747
"input": [
4848
[

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp