file_handler.py 793 B

123456789101112131415161718192021222324252627282930313233
  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. super().__init__()
  7. self.__target = target
  8. self.__handler = None
  9. def add(self, content: str) -> None:
  10. if not self.is_ready:
  11. self.open()
  12. self.__handler.write(content + os.linesep)
  13. @property
  14. def is_ready(self) -> bool:
  15. return self.__handler is not None and not self.__handler.closed
  16. def open(self) -> None:
  17. if self.__handler is None or self.__handler.closed:
  18. self.__handler = self.__target.open("a")
  19. def clean(self) -> None:
  20. if self.__handler is None or self.__handler.closed:
  21. return
  22. self.__handler.close()