view.py 887 B

123456789101112131415161718192021222324252627282930313233
  1. import pathlib
  2. from .render import render
  3. class view:
  4. def __init__(self, source: pathlib.Path):
  5. if not source.is_file():
  6. raise Exception("Source \"" + str(source) + "\" not exists.")
  7. self.__renderer = render(source)
  8. self.__result = None
  9. def add_params(self, params: dict) -> object:
  10. for param in params.keys():
  11. self.__renderer.add(param, params[param])
  12. return self
  13. def set_result(self, result: pathlib.Path) -> object:
  14. self.__result = result
  15. return self
  16. def save(self) -> object:
  17. if self.__result.is_file():
  18. self.__result.unlink()
  19. if self.__result.is_dir():
  20. raise Exception("View \"" + str(self.__result) + "\" is dir.")
  21. with self.__result.open("w") as result:
  22. result.write(self.__renderer.finalize())
  23. return self