diff --git a/km3buu/output.py b/km3buu/output.py index 5898a7dfc777317bcbd34d89a0755950041fc06e..a7f6699d0000733931408e91e4d4f1ace92564de 100644 --- a/km3buu/output.py +++ b/km3buu/output.py @@ -18,6 +18,7 @@ import numpy as np from io import StringIO from os import listdir from os.path import isfile, join, abspath +from tempfile import TemporaryDirectory EVENT_FILENAME = "FinalEvents.dat" XSECTION_FILENAMES = {"all": "neutrino_absorption_cross_section_ALL.dat"} @@ -91,16 +92,20 @@ class GiBUUOutput: ---------- data_dir: str """ - self._data_dir = abspath(data_dir) + if isinstance(data_dir, TemporaryDirectory): + self._tmp_dir = data_dir + self._data_path = abspath(data_dir.name) + else: + self._data_path = abspath(data_dir) self.output_files = [ - f for f in listdir(self._data_dir) - if isfile(join(self._data_dir, f)) + f for f in listdir(self._data_path) + if isfile(join(self._data_path, f)) ] if EVENT_FILENAME in self.output_files: setattr(self, "events", - FinalEvents(join(self._data_dir, EVENT_FILENAME))) + FinalEvents(join(self._data_path, EVENT_FILENAME))) if XSECTION_FILENAMES["all"] in self.output_files: setattr( self, "xsection", NeutrinoAbsorptionXSection( - join(self._data_dir, XSECTION_FILENAMES["all"]))) + join(self._data_path, XSECTION_FILENAMES["all"])))