Source code for hypergol.cli.create_model_block

from pathlib import Path

import fire

from hypergol.name_string import NameString
from hypergol.hypergol_project import HypergolProject


[docs]def create_model_block(className, projectDirectory='.', dryrun=None, force=None): """Generates a Model Block class. The file will be located in ``project_name/models/blocks/block_name.py`` Parameters ---------- className : string (CamelCase) Name of the class to be created """ project = HypergolProject(projectDirectory=projectDirectory, dryrun=dryrun, force=force) className = NameString(className) content = project.render( templateName='model_block.py.j2', templateData={'className': className}, filePath=Path(projectDirectory, 'models', 'blocks', className.asFileName) ) return project.cli_final_message(creationType='ModelBlock', name=className, content=(content, ))
if __name__ == "__main__": fire.Fire(create_model_block)