diff --git a/src/__init__.py b/src/__init__.py index ecd7d51..5c4f6f1 100644 --- a/src/__init__.py +++ b/src/__init__.py @@ -1,10 +1,10 @@ from dotenv import load_dotenv import os +import src.code_generator.generator as code_generator + class Pelato: - def __init__(self, project_dir): - - self.project_dir = project_dir + def __init__(self): self.setup_vars() @@ -15,14 +15,15 @@ class Pelato: self.reg_user = os.getenv('REGISTRY_USER') self.reg_pass = os.getenv('REGISTRY_PASSWORD') - def generate(self): - print(f"Generating Go code for project {self.project_dir}") + def generate(self, project_dir): + print(f"Generating Go code for project {project_dir}") + code_generator.generate(project_dir) - def build(self): - print(f"Building WASM component for project {self.project_dir}") + def build(self, project_dir): + print(f"Building WASM component for project {project_dir}") - def deploy(self): - print(f"Deploying WASM components for project {self.project_dir}") + def deploy(self, project_dir): + print(f"Deploying WASM components for project {project_dir}") - def all(self): - print(f"Doing everything for project {self.project_dir}") \ No newline at end of file + def all(self, project_dir): + print(f"Doing everything for project {project_dir}") \ No newline at end of file diff --git a/src/code_generator/template_compiler.py b/src/code_generator/template_compiler.py new file mode 100644 index 0000000..4dfd1a5 --- /dev/null +++ b/src/code_generator/template_compiler.py @@ -0,0 +1,28 @@ +import logging + +def handle_task(task, output_dir): + + try: + + match task['type']: + case 'producer_nats': + __generate_producer(task, output_dir) + case 'processor_nats': + __generate_processor(task, output_dir) + case 'dbsync_nats': + __generate_dbsync(task, output_dir) + case _: + logging.error(f"Task type {task['type']} not supported") + pass + except KeyError as e: + logging.error(f"Error parsing task: {e}") + pass + +def __generate_producer(task, output_dir): + pass + +def __generate_processor(task, output_dir): + pass + +def __generate_dbsync(task, output_dir): + pass \ No newline at end of file