Skip to content

Please output the schema name that is giving error #605

Open
@Nafyaz

Description

@Nafyaz

I got Unable to render schema and I had to tweak the library code to find out which of my 20+ schemas is causing the problem. By tweaking, I mean just printing out schemas in swagger.py's serialize_definitions(self) to until I receive an error. It would be less frustrating if the library directly told the name of my schema.

Here is the full traceback:

Unable to render schema
Traceback (most recent call last):
  File "/home/ve/lib/python3.12/site-packages/flask_restx/api.py", line 571, in __schema__
    self._schema = Swagger(self).as_dict()
                   ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ve/lib/python3.12/site-packages/flask_restx/swagger.py", line 304, in as_dict
    "definitions": self.serialize_definitions() or None,
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ve/lib/python3.12/site-packages/flask_restx/swagger.py", line 661, in serialize_definitions
    print(model.__schema__)
          ^^^^^^^^^^^^^^^^
  File "/home/ve/lib/python3.12/site-packages/flask_restx/model.py", line 68, in __schema__
    schema = self._schema
             ^^^^^^^^^^^^
  File "/home/ve/lib/python3.12/site-packages/flask_restx/model.py", line 151, in _schema
    properties[name] = field.__schema__
                       ^^^^^^^^^^^^^^^^
  File "/home/ve/lib/python3.12/site-packages/werkzeug/utils.py", line 107, in __get__
    value = self.fget(obj)  # type: ignore
            ^^^^^^^^^^^^^^
  File "/home/ve/lib/python3.12/site-packages/flask_restx/fields.py", line 217, in __schema__
    return not_none(self.schema())
                    ^^^^^^^^^^^^^
  File "/home/ve/lib/python3.12/site-packages/flask_restx/fields.py", line 442, in schema
    enum = self._v("enum")
           ^^^^^^^^^^^^^^^
  File "/home/ve/lib/python3.12/site-packages/flask_restx/fields.py", line 213, in _v
    return value() if callable(value) else value
           ^^^^^^^
TypeError: EnumType.__call__() missing 1 required positional argument: 'value'

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions