toml icon indicating copy to clipboard operation
toml copied to clipboard

Parsing inline table with comma in value

Open jtrakk opened this issue 6 years ago • 0 comments

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

jtrakk avatar Jul 13 '19 20:07 jtrakk