diff --git a/src/Model/Ensembles/Ensemble.py b/src/Model/Ensembles/Ensemble.py index f3225d27..25f0fc80 100644 --- a/src/Model/Ensembles/Ensemble.py +++ b/src/Model/Ensembles/Ensemble.py @@ -109,13 +109,12 @@ class Ensemble(SQLSubModel): data_pid = next(it) owner_scenario = next(it) - def fn(f): f.name == fname + def fn(f): return f._name == fname if fid != -1: - def fn(f): f.pamhyr_id == fid + def fn(f): return f._pamhyr_id == fid function = next( - filter(fn, functions), - None + filter(fn, functions.lst), ) rdata = cls._decode_range(range, range_len) @@ -147,7 +146,7 @@ class Ensemble(SQLSubModel): brange, length = self._encode_range() - fid = self._function.pamhyr_id + fid = self._function._pamhyr_id if self._function._type == "generic": fid = -1 @@ -159,7 +158,7 @@ class Ensemble(SQLSubModel): "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", self.pamhyr_id, self.is_deleted(), self._name, self._type, - fid, self._function.name, brange, length, + fid, self._function._name, brange, length, self._data_pid, self._status.scenario_id ) diff --git a/src/Model/Ensembles/Function.py b/src/Model/Ensembles/Function.py index ae6d2818..38ad7f57 100644 --- a/src/Model/Ensembles/Function.py +++ b/src/Model/Ensembles/Function.py @@ -150,7 +150,7 @@ class Uniform(Function): name=name, script=script ) - def get_sample(self, dist, ens_range): + def get_sample(self, ens_range): b = ens_range[0] t = ens_range[1] n = ens_range[2] @@ -173,11 +173,11 @@ class Custom(Function): self._type = "custom" - def get_sample(self, dist, ens_range): + def get_sample(self, ens_range): try: # Run script to (re)define the sample function f = eval(self._script) - return f(dist, ens_range) + return f(ens_range) except Exception as e: logger_exception(e) return None # TODO: Raise helpful exception