added root param

This commit is contained in:
Lorenzo Volpi 2023-11-23 00:25:43 +01:00
parent e901d24e3d
commit 1eccf4b368
2 changed files with 11 additions and 4 deletions

View File

@ -13,12 +13,13 @@ def app_instance():
param_init = { param_init = {
k: v k: v
for k, v in pn.state.location.query_params.items() for k, v in pn.state.location.query_params.items()
if k in ["dataset", "metric", "plot_view", "mode", "estimators"] if k in ["root", "dataset", "metric", "plot_view", "mode", "estimators"]
} }
qtv = QuaccTestViewer(param_init=param_init) qtv = QuaccTestViewer(param_init=param_init)
pn.state.location.sync( pn.state.location.sync(
qtv, qtv,
{ {
"root": "root",
"dataset": "dataset", "dataset": "dataset",
"metric": "metric", "metric": "metric",
"plot_view": "plot_view", "plot_view": "plot_view",

View File

@ -12,6 +12,8 @@ from quacc.evaluation.report import DatasetReport
class QuaccTestViewer(param.Parameterized): class QuaccTestViewer(param.Parameterized):
__base_path = "output"
dataset = param.Selector() dataset = param.Selector()
metric = param.Selector() metric = param.Selector()
estimators = param.ListSelector() estimators = param.ListSelector()
@ -31,6 +33,8 @@ class QuaccTestViewer(param.Parameterized):
plot_pane = param.Parameter() plot_pane = param.Parameter()
modal_pane = param.Parameter() modal_pane = param.Parameter()
root = param.String()
def __init__(self, param_init=None, **params): def __init__(self, param_init=None, **params):
super().__init__(**params) super().__init__(**params)
@ -234,12 +238,14 @@ class QuaccTestViewer(param.Parameterized):
) )
def update_datasets(self): def update_datasets(self):
__base_path = "output" if not self.__get_param_init("root"):
self.root = self.__base_path
dataset_paths = sorted( dataset_paths = sorted(
explore_datasets(__base_path), key=lambda t: (-len(t.parts), t) explore_datasets(self.root), key=lambda t: (-len(t.parts), t)
) )
self.datasets_ = { self.datasets_ = {
str(dp.parent.relative_to(Path(__base_path))): DatasetReport.unpickle(dp) str(dp.parent.relative_to(Path(self.root))): DatasetReport.unpickle(dp)
for dp in dataset_paths for dp in dataset_paths
} }