xsdata.formats.dataclass.generator module

class xsdata.formats.dataclass.generator.DataclassGenerator[source]

Bases: xsdata.formats.generators.PythonAbstractGenerator

templates_dir: Optional[pathlib.Path] = PosixPath('/home/docs/checkouts/readthedocs.org/user_builds/xsdata/envs/v20.5/lib/python3.7/site-packages/xsdata/formats/dataclass/templates')
render(classes)[source]

Given a list of classes return to the writer factory the target file path full module path and the rendered code.

Parameters

classes (List[Class]) –

Return type

Iterator[Tuple[Path, str, str]]

render_package(classes)[source]
Parameters

classes (List[Class]) –

Return type

str

render_module(resolver, classes)[source]
Parameters
Return type

str

render_class(obj)[source]
Parameters

obj (Class) –

Return type

str

classmethod group_by_package(classes)[source]
Parameters

classes (List[Class]) –

Return type

Dict[Path, List[Class]]

classmethod group_by_module(classes)[source]
Parameters

classes (List[Class]) –

Return type

Dict[str, List[Class]]

render_classes(classes)[source]

Get a list of sorted classes from the imports resolver, apply the python code conventions and return the rendered output.

Parameters

classes (List[Class]) –

Return type

str

prepare_classes(classes)[source]
Parameters

classes (List[Class]) –

prepare_imports(imports)[source]

Get a list of sorted packages from the imports resolver apply the python code conventions, group them by the source package and return them.

Parameters

imports (List[Package]) –

Return type

Dict[str, List[Package]]