34 lines
1016 B
Python
34 lines
1016 B
Python
from collections.abc import Iterable, Iterator
|
|
|
|
from cfg import CFG_ROOT
|
|
from cfg.factory import cfg_data_factory
|
|
from compose.factory import compose_factory, traefik_compose_factory
|
|
from rendered.entity import Rendered
|
|
from rendered.factory import rendered_factory
|
|
from rendered.util import write
|
|
from src_path.entity import src_paths_factory
|
|
from template.factory import template_factory
|
|
|
|
|
|
def load_all() -> Iterable[Rendered]:
|
|
for dir in CFG_ROOT.iterdir():
|
|
paths = src_paths_factory(dir)
|
|
cfg = cfg_data_factory(paths)
|
|
parsed = compose_factory(cfg)
|
|
for template in template_factory(parsed):
|
|
yield rendered_factory(template)
|
|
|
|
|
|
def render_all() -> Iterator[Rendered]:
|
|
for rendered in load_all():
|
|
write(rendered)
|
|
yield rendered
|
|
|
|
|
|
if __name__ == "__main__":
|
|
renders = render_all()
|
|
traefik = traefik_compose_factory(renders)
|
|
for template in template_factory(traefik):
|
|
rendered = rendered_factory(template)
|
|
write(rendered)
|