2023-11-03 22:37:30 +01:00

46 lines
1.1 KiB
Python

import asyncio
from genericpath import isdir, isfile
import os
import shutil
from app.config import load_config
from app.dependencies import wire_dependencies
from app.generator import generators
def main():
config = load_config()
purge(config["purge"])
generate(config)
def generate(config):
loop = asyncio.get_event_loop()
tasks = []
output = config["output"]
for generator_config in config["configs"]:
for generator_name in generator_config["generators"]:
generator = generators[generator_name] if generator_name in generators else None
tasks.append(
loop.create_task(generator.generate(generator_config, output))
) if generator is not None else print(f"Generator {generator_name} not found.")
loop.run_until_complete(asyncio.wait(tasks))
loop.close()
def purge(paths):
for path in paths:
if isdir(path):
shutil.rmtree(path)
elif isfile(path):
os.remove(path)
if __name__ == "__main__":
wire_dependencies()
main()