diff options
author | Fabrice Desré <fabrice@desre.org> | 2014-10-20 22:20:15 -0700 |
---|---|---|
committer | Fabrice Desré <fabrice@desre.org> | 2014-10-20 22:20:15 -0700 |
commit | 38ccbe61ae2c22281279b4130c75c48658984d2e (patch) | |
tree | 9da80302030357fc2e502bc86081354d6521f771 /python/toml/toml.py | |
parent | f6941b35e3b945f4a6dcd2cf03daa345ad2bcaed (diff) | |
download | servo-38ccbe61ae2c22281279b4130c75c48658984d2e.tar.gz servo-38ccbe61ae2c22281279b4130c75c48658984d2e.zip |
Update toml.py to upstream 1069d2449760525535ca77514a92e9237ee0deaf
Diffstat (limited to 'python/toml/toml.py')
-rw-r--r-- | python/toml/toml.py | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/python/toml/toml.py b/python/toml/toml.py index 8b3ecb67a2a..aa43ecae941 100644 --- a/python/toml/toml.py +++ b/python/toml/toml.py @@ -1,4 +1,4 @@ -import datetime, decimal +import datetime, decimal, re try: _range = xrange @@ -42,7 +42,7 @@ def loads(s): sl = list(s) openarr = 0 openstring = False - arrayoftables = True + arrayoftables = False beginline = True keygroup = False delnum = 1 @@ -79,7 +79,7 @@ def loads(s): keygroup = True else: openarr += 1 - if sl[i] == ']' and not openstring and not keygroup and not arrayoftables: + if sl[i] == ']' and not openstring: if keygroup: keygroup = False elif arrayoftables: @@ -251,10 +251,10 @@ def load_value(v): newv += unicode(hx[len(hxb):]) v = newv for i in range(len(escapes)): - v = v.replace("\\"+escapes[i], escapedchars[i]) - # (where (n) signifies a member of escapes: - # undo (\\)(\\)(n) -> (\\)(\n) - v = v.replace("\\"+escapedchars[i], "\\\\"+escapes[i]) + if escapes[i] == '\\': + v = v.replace("\\"+escapes[i], escapedchars[i]) + else: + v = re.sub("([^\\\\](\\\\\\\\)*)\\\\"+escapes[i], "\\1"+escapedchars[i], v) return (v[1:-1], "str") elif v[0] == '[': return (load_array(v), "array") |