diff --git a/tupak/result.py b/tupak/result.py index 19aa9a1ea37de044570c5669a2050551a645d957..86ca51802b4db8d0f370c633b369929e54e2248a 100644 --- a/tupak/result.py +++ b/tupak/result.py @@ -17,13 +17,26 @@ def result_file_name(outdir, label): return '{}/{}_result.h5'.format(outdir, label) -def read_in_result(outdir, label): - """ Read in a saved .h5 data file """ - filename = result_file_name(outdir, label) +def read_in_result(outdir=None, label=None, filename=None): + """ Read in a saved .h5 data file + + Parameters + ---------- + outdir, label: str + If given, use the default naming convention for saved results file + filename: str + If given, try to load from this filename + + Returns: + result: tupak.result.Result instance + + """ + if filename is None: + filename = result_file_name(outdir, label) if os.path.isfile(filename): return Result(deepdish.io.load(filename)) else: - return None + raise ValueError("No information given to load file") class Result(dict): diff --git a/tupak/sampler.py b/tupak/sampler.py index 7e1bc58db77bca4256fb2c4b0b70385a3f963467..3523beaf1b55c16fff3955fba7cb0ea51fcb13f0 100644 --- a/tupak/sampler.py +++ b/tupak/sampler.py @@ -200,7 +200,12 @@ class Sampler(object): logging.debug("Command line argument clean given, forcing rerun") self.cached_result = None return - self.cached_result = read_in_result(self.outdir, self.label) + + try: + self.cached_result = read_in_result(self.outdir, self.label) + except ValueError: + self.cached_result = None + if utils.command_line_args.use_cached: logging.debug("Command line argument cached given, no cache check performed") return