consolidator
/
ModuleMaker.py
25 строк · 1.2 Кб
1
2from string import Template3import os.path4
5class ModuleMaker:6
7@staticmethod8def make_from_string(pattern:str,module_key:str="module_key",module:str="module",handlers_dir:str="handlers2")->str:9try:10template = Template(pattern)11# template.delimiter = "|"12result = template.substitute(module_key=module_key,module=module)13file_name = f"{handlers_dir}\\{module}.py"14if os.path.isfile(file_name): raise Exception(f"Модуль {module} уже существует. Имя модуля должно быть уникальным.")15with open(file_name,mode="w",encoding="utf-8") as f: f.write(result)16return f"Модуль {file_name} создан."17except: raise18
19@staticmethod20def make_from_file(pattern_path:str,module_key:str="module_key",module:str="module",handlers_dir:str="handlers2")->str:21try:22if not os.path.isfile(pattern_path): raise Exception(f"Шаблона '{pattern_path}' не существует.")23with open(pattern_path,mode="r",encoding="utf-8") as f:24src = f.read()25return ModuleMaker.make_from_string(src,module_key,module,handlers_dir)26except: raise