Skip to content

Encoding with utf-8 in input file error #53

Closed
@Sergeydigl3

Description

@Sergeydigl3

Describe

When cli reading the json file. I get error

Reproduce

Package version: 0.2.7
Cli call:

$ json2models -m Telega result2.json -f pydantic --disable-unicode-conversion --datetime -o test.py
...

Error

Cli output

Traceback (most recent call last):
  File "/home/latu/miniconda3/bin/json2models", line 8, in <module>
    sys.exit(main())
  File "/home/latu/miniconda3/lib/python3.9/site-packages/json_to_models/cli.py", line 395, in main
    print(cli.run())
  File "/home/latu/miniconda3/lib/python3.9/site-packages/json_to_models/cli.py", line 121, in run
    meta = generator.generate(*data)
  File "/home/latu/miniconda3/lib/python3.9/site-packages/json_to_models/cli.py", line 184, in <genexpr>
    models_dict[model_name].append(parser(path) for path in paths)
  File "/home/latu/miniconda3/lib/python3.9/site-packages/json_to_models/cli.py", line 425, in json
    return json.load(fp)
  File "/home/latu/miniconda3/lib/python3.9/json/__init__.py", line 293, in load
    return loads(fp.read(),
  File "/home/latu/miniconda3/lib/python3.9/json/__init__.py", line 346, in loads
    return _default_decoder.decode(s)
  File "/home/latu/miniconda3/lib/python3.9/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/home/latu/miniconda3/lib/python3.9/json/decoder.py", line 353, in raw_decode
    obj, end = self.scan_once(s, idx)
json.decoder.JSONDecodeError: Unterminated string starting at: line 5118136 column 24 (char 128038493)
...

Additional context

It's default behaivoir, fix in "cli.py", class FileLoaders, open(), should be replaced with open(encoding="utf-8")

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions