diff --git a/file_handler.py b/file_handler.py new file mode 100644 index 0000000..bd83908 --- /dev/null +++ b/file_handler.py @@ -0,0 +1,35 @@ +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 = [] \ No newline at end of file