File tree 1 file changed +15
-9
lines changed
1 file changed +15
-9
lines changed Original file line number Diff line number Diff line change
1
+ import re
2
+
3
+
1
4
def serialize (nodes ):
2
5
"""Serialize nodes to CSS syntax.
3
6
@@ -66,16 +69,19 @@ def serialize_name(value):
66
69
)
67
70
68
71
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 )]
69
83
def 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 )
79
85
80
86
81
87
def serialize_url (value ):
You can’t perform that action at this time.
0 commit comments