import os import nixio as nix from nixio import file class FileHandler(): def __init__(self) -> None: super().__init__() self._nix_file = None self._file_requests = [] def open(self, filename): """[summary] Args: filename ([type]): [description] """ print("open file: %s" % filename) self.close() if not os.path.exists(filename): return False, "File %s could not be found!" % filename try: self._nix_file = nix.File.open(filename, nix.FileMode.ReadOnly) return True, "Successfully opened file %s." % filename.split(os.sep)[-1] except RuntimeError as e: return False, "Failed to open file %s! \n Error message is: %s" % (filename, e) def close(self): print("close file") # TODO check if there are any open file requests! if self._nix_file is not None and self._nix_file.is_open(): self._nix_file.close() self._nix_file = None self._file_requests = []