toml
toml copied to clipboard
Parsing inline table with comma in value
x = [{y='foo'}]
parses just fine but this one breaks:
x = [{y=','}]
Traceback (most recent call last):
File "/home/runner/.local/lib/python3.6/site-packages/toml/decoder.py", line 607, in load_inline_object
_, value = candidate_group.split('=', 1)
ValueError: not enough values to unpack (expected 2, got 1)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/runner/.local/lib/python3.6/site-packages/toml/decoder.py", line 456, in loads
multibackslash)
File "/home/runner/.local/lib/python3.6/site-packages/toml/decoder.py", line 725, in load_line
value, vtype = self.load_value(pair[1], strictly_valid)
File "/home/runner/.local/lib/python3.6/site-packages/toml/decoder.py", line 802, in load_value
return (self.load_array(v), "array")
File "/home/runner/.local/lib/python3.6/site-packages/toml/decoder.py", line 938, in load_array
nval, ntype = self.load_value(a[i])
File "/home/runner/.local/lib/python3.6/site-packages/toml/decoder.py", line 805, in load_value
self.load_inline_object(v, inline_object)
File "/home/runner/.local/lib/python3.6/site-packages/toml/decoder.py", line 609, in load_inline_object
raise ValueError("Invalid inline table encountered")
ValueError: Invalid inline table encountered
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "main.py", line 9, in <module>
toml.load(f)
File "/home/runner/.local/lib/python3.6/site-packages/toml/decoder.py", line 134, in load
return loads(f.read(), _dict, decoder)
File "/home/runner/.local/lib/python3.6/site-packages/toml/decoder.py", line 458, in loads
raise TomlDecodeError(str(err), original, pos)
toml.decoder.TomlDecodeError: Invalid inline table encountered (line 1 column 1 char 0)
I think this is a parser bug, separate from https://github.com/uiri/toml/issues/170 because this issue only affects inline tables, and that example works on my version.
toml 0.10.0 Python 3.7.3