Loading .readthedocs.yaml +3 −0 Original line number Diff line number Diff line Loading @@ -4,6 +4,9 @@ build: os: ubuntu-20.04 tools: python: "mambaforge-4.10" jobs: pre_build: - mkdir ~/tmp sphinx: builder: html Loading environment.yml +2 −2 Original line number Diff line number Diff line Loading @@ -17,8 +17,8 @@ dependencies: - datashader - hvplot # GUI - panel<1.3 - param<2 - panel - param - pyvista # IO - dxchange Loading src/imars3d/backend/dataio/data.py +11 −5 Original line number Diff line number Diff line Loading @@ -59,14 +59,20 @@ class Foldernames(param.Foldername): * any of the paths searched by resolve_dir_path() (if search_paths is None). """ def _validate(self, val): if isinstance(val, (list, tuple)): for v in val: super()._validate(v) else: super()._validate(val) def _resolve(self, paths): if isinstance(paths, (str, Path)): return super()._resolve(paths) elif isinstance(paths, (list, tuple)): if isinstance(paths, (list, tuple)): return [self._resolve(path) for path in paths] else: name = next(x for x in [self.name, self.label, "Foldernames parameter"] if x) raise ValueError(f"{name} must be a string or a list of strings") return super()._resolve(paths) class load_data(param.ParameterizedFunction): Loading src/imars3d/backend/workflow/engine.py +1 −1 Original line number Diff line number Diff line Loading @@ -104,7 +104,7 @@ class WorkflowEngine: # depending on the value of other parameters. Methods `dryrun()` assume that # parameters are independent of each other independent = False if function_name in ["load_data"] else True outputs = dict(function=f, paramdict=f.params(), params_independent=independent) outputs = dict(function=f, paramdict=f.param.params(), params_independent=independent) return namedtuple("TaskFuncionInstrospection", outputs.keys())(**outputs) def _resolve_inputs(self, task_inputs: dict, paramdict: dict) -> dict: Loading tests/unit/backend/dataio/test_data.py +2 −1 Original line number Diff line number Diff line Loading @@ -69,7 +69,8 @@ def test_Foldernames(tmpdir): # test wrong input with pytest.raises(ValueError) as e: TestFoldernames(f=open(tmpdir / "temp.txt", "w")) assert str(e.value) == "f must be a string or a list of strings" assert str(e.value) == "Foldernames parameter 'TestFoldernames.f' only take str or pathlib.Path types" # test single directory tf = TestFoldernames(f=str(tmpdir)) assert tf.f == str(tmpdir) Loading Loading
.readthedocs.yaml +3 −0 Original line number Diff line number Diff line Loading @@ -4,6 +4,9 @@ build: os: ubuntu-20.04 tools: python: "mambaforge-4.10" jobs: pre_build: - mkdir ~/tmp sphinx: builder: html Loading
environment.yml +2 −2 Original line number Diff line number Diff line Loading @@ -17,8 +17,8 @@ dependencies: - datashader - hvplot # GUI - panel<1.3 - param<2 - panel - param - pyvista # IO - dxchange Loading
src/imars3d/backend/dataio/data.py +11 −5 Original line number Diff line number Diff line Loading @@ -59,14 +59,20 @@ class Foldernames(param.Foldername): * any of the paths searched by resolve_dir_path() (if search_paths is None). """ def _validate(self, val): if isinstance(val, (list, tuple)): for v in val: super()._validate(v) else: super()._validate(val) def _resolve(self, paths): if isinstance(paths, (str, Path)): return super()._resolve(paths) elif isinstance(paths, (list, tuple)): if isinstance(paths, (list, tuple)): return [self._resolve(path) for path in paths] else: name = next(x for x in [self.name, self.label, "Foldernames parameter"] if x) raise ValueError(f"{name} must be a string or a list of strings") return super()._resolve(paths) class load_data(param.ParameterizedFunction): Loading
src/imars3d/backend/workflow/engine.py +1 −1 Original line number Diff line number Diff line Loading @@ -104,7 +104,7 @@ class WorkflowEngine: # depending on the value of other parameters. Methods `dryrun()` assume that # parameters are independent of each other independent = False if function_name in ["load_data"] else True outputs = dict(function=f, paramdict=f.params(), params_independent=independent) outputs = dict(function=f, paramdict=f.param.params(), params_independent=independent) return namedtuple("TaskFuncionInstrospection", outputs.keys())(**outputs) def _resolve_inputs(self, task_inputs: dict, paramdict: dict) -> dict: Loading
tests/unit/backend/dataio/test_data.py +2 −1 Original line number Diff line number Diff line Loading @@ -69,7 +69,8 @@ def test_Foldernames(tmpdir): # test wrong input with pytest.raises(ValueError) as e: TestFoldernames(f=open(tmpdir / "temp.txt", "w")) assert str(e.value) == "f must be a string or a list of strings" assert str(e.value) == "Foldernames parameter 'TestFoldernames.f' only take str or pathlib.Path types" # test single directory tf = TestFoldernames(f=str(tmpdir)) assert tf.f == str(tmpdir) Loading