mdg.generate package

Submodules

mdg.generate.render module

mdg.generate.render.output_level_assoc(source_template: jinja2.environment.Template, dest_file_template: jinja2.environment.Template, filter_template: Optional[jinja2.environment.Template], package: mdg.uml.UMLPackage)[source]

Render a jinja template for each association in the supplied package

mdg.generate.render.output_level_class(source_template: jinja2.environment.Template, dest_file_template: jinja2.environment.Template, filter_template: Optional[jinja2.environment.Template], package: mdg.uml.UMLPackage) → None[source]

Render a jinja template for each class in the supplied package

mdg.generate.render.output_level_copy(source_filename: str, dest_file_template: jinja2.environment.Template, package: mdg.uml.UMLPackage) → None[source]

Render a jinja template as pass a UML package as data

mdg.generate.render.output_level_enum(source_template: jinja2.environment.Template, dest_file_template: jinja2.environment.Template, filter_template: Optional[jinja2.environment.Template], package: mdg.uml.UMLPackage) → None[source]

Render a jinja template for each enumeration in the supplied package

mdg.generate.render.output_level_package(source_template: jinja2.environment.Template, dest_file_template: jinja2.environment.Template, package: mdg.uml.UMLPackage) → None[source]

Render a jinja template as pass a UML package as data

mdg.generate.render.output_model(package: mdg.uml.UMLPackage) → None[source]

Loops through model templates in the settings and calls render functions

Each template consists of:
dest: The filename of the output level: Do we generate a file for each package/class/enumeration/association or root source: Path to the jinja2 template filter: If supplied, If supplied The template must output “True” for a file to be generated. E.g. “{% if package.classes %}True{% else %}False{% endif %}”
mdg.generate.render.output_test_cases(test_cases: List[mdg.uml.UMLInstance]) → None[source]

Test cases are parse into a list of UML instances. Loop through list and serialise

mdg.generate.render.serialize_instance(instance: mdg.uml.UMLInstance)[source]

Generates a dictionary of attributes, values, dicts and lists from UML instance Recurses through associations originaing from supplied instance to serialise sub-objects

Module contents

mdg.generate.generate()[source]

Loads XMI file from settings as an etree Calls XMI parser to turn model and tests into python native (see UML metamodel) Calls output functions to render for model and tests