import pathlib import os from .handler import handler class file_handler(handler): def __init__(self, target: pathlib.Path) -> None: super().__init__() self.__target = target self.__handler = None def add(self, content: str) -> None: if not self.is_ready: self.open() self.__handler.write(content + os.linesep) @property def is_ready(self) -> bool: return self.__handler is not None and not self.__handler.closed def open(self) -> None: if self.__handler is None or self.__handler.closed: self.__handler = self.__target.open("a") def clean(self) -> None: if self.__handler is None or self.__handler.closed: return self.__handler.close()