File tree Expand file tree Collapse file tree 1 file changed +15
-9
lines changed
Expand file tree Collapse file tree 1 file changed +15
-9
lines changed Original file line number Diff line number Diff line change 1+ import re
2+
3+
14def serialize (nodes ):
25 """Serialize nodes to CSS syntax.
36
@@ -66,16 +69,19 @@ def serialize_name(value):
6669 )
6770
6871
72+ _replacement_string_value = {
73+ '"' : r"\"" ,
74+ "\\ " : r"\\" ,
75+ "\n " : r"\A " ,
76+ "\r " : r"\D " ,
77+ "\f " : r"\C " ,
78+ }
79+ _re_string_value = "" .join (re .escape (e ) for e in _replacement_string_value .keys ())
80+ _re_string_value = re .compile ("[" + _re_string_value + "]" , re .MULTILINE )
81+ def _serialize_string_value_match (match ):
82+ return _replacement_string_value [match .group (0 )]
6983def serialize_string_value (value ):
70- return '' .join (
71- r'\"' if c == '"' else
72- r'\\' if c == '\\ ' else
73- r'\A ' if c == '\n ' else
74- r'\D ' if c == '\r ' else
75- r'\C ' if c == '\f ' else
76- c
77- for c in value
78- )
84+ return _re_string_value .sub (_serialize_string_value_match , value )
7985
8086
8187def serialize_url (value ):
You can’t perform that action at this time.
0 commit comments