file_handler.py 765 B

12345678910111213141516171819202122232425262728293031
  1. import pathlib
  2. import os
  3. from .handler import handler
  4. class file_handler(handler):
  5. def __init__(self, target: pathlib.Path) -> None:
  6. self.__target = target
  7. self.__handler = None
  8. def add(self, content: str) -> None:
  9. if not self.is_ready:
  10. self.open()
  11. self.__handler.write(content + os.linesep)
  12. @property
  13. def is_ready(self) -> bool:
  14. return self.__handler is not None and not self.__handler.closed
  15. def open(self) -> None:
  16. if self.__handler is None or self.__handler.closed:
  17. self.__handler = self.__target.open("a")
  18. def clean(self) -> None:
  19. if self.__handler is None or self.__handler.closed:
  20. return
  21. self.__handler.close()