openapi-python-generator icon indicating copy to clipboard operation
openapi-python-generator copied to clipboard

Codeformatter cannot parse generated source code (black.parsing.InvalidInput)

Open swanitzek opened this issue 2 years ago • 0 comments

Describe the bug The formatting of the generated code fails because "black" is considering it as not parseable.

To Reproduce Steps to reproduce the behavior:

  1. Call openapi-python-generator xyz.json output
  2. Observe console output

Expected behavior The code should be completely generated and formatted.

Stacktrace

Generating data from v3.json
Error in model Association: invalid syntax (<string>, line 27)
Error in model TraceabilityItem: invalid syntax (<string>, line 22)
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "C:\_Tools\Python312\Scripts\openapi-python-generator.exe\__main__.py", line 7, in <module>
  File "C:\_Tools\Python312\Lib\site-packages\click\core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\_Tools\Python312\Lib\site-packages\click\core.py", line 1078, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "C:\_Tools\Python312\Lib\site-packages\click\core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\_Tools\Python312\Lib\site-packages\click\core.py", line 783, in invoke
    return __callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\_Tools\Python312\Lib\site-packages\openapi_python_generator\__main__.py", line 49, in main
    generate_data(source, output, library, env_token_name, use_orjson)
  File "C:\_Tools\Python312\Lib\site-packages\openapi_python_generator\generate_data.py", line 149, in generate_data
    write_data(result, output)
  File "C:\_Tools\Python312\Lib\site-packages\openapi_python_generator\generate_data.py", line 101, in write_data
    write_code(models_path / f"{model.file_name}.py", model.content)
  File "C:\_Tools\Python312\Lib\site-packages\openapi_python_generator\generate_data.py", line 43, in write_code
    raise e
  File "C:\_Tools\Python312\Lib\site-packages\openapi_python_generator\generate_data.py", line 34, in write_code
    formatted_contend = black.format_file_contents(
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "src\black\__init__.py", line 1021, in format_file_contents
  File "src\black\__init__.py", line 1172, in format_str
  File "src\black\__init__.py", line 1186, in _format_str_once
  File "src\black\parsing.py", line 89, in lib2to3_parse
black.parsing.InvalidInput: Cannot parse: 27:9:     from : AbstractReference = Field(alias="from" )

swanitzek avatar Jan 10 '24 15:01 swanitzek