import textwrap from cpl_cli.abc.generate_schematic_abc import GenerateSchematicABC class ConfigModel(GenerateSchematicABC): def __init__(self, *args: str): GenerateSchematicABC.__init__(self, *args) def get_code(self) -> str: code = """\ import traceback from cpl_core.configuration.configuration_model_abc import ConfigurationModelABC from cpl_core.console import Console class $Name(ConfigurationModelABC): def __init__(self): ConfigurationModelABC.__init__(self) self._atr = '' @property def atr(self) -> str: return self._atr def from_dict(self, settings: dict): try: self._atr = settings['atr'] except Exception as e: Console.error(f'[ ERROR ] [ {__name__} ]: Reading error in {type(self).__name__} settings') Console.error(f'[ EXCEPTION ] [ {__name__} ]: {e} -> {traceback.format_exc()}') """ x = self.build_code_str(code, Name=self._class_name) return x @classmethod def register(cls): GenerateSchematicABC.register( cls, 'settings', ['st', 'ST'] )