diff --git a/src/murfey/client/tui/screens.py b/src/murfey/client/tui/screens.py index e712ffcc..43e3878f 100644 --- a/src/murfey/client/tui/screens.py +++ b/src/murfey/client/tui/screens.py @@ -952,7 +952,7 @@ def on_button_pressed(self, event: Button.Pressed): instrument_name=self.app._environment.instrument_name, demo=self.app._environment.demo, ) - for dir in machine_config["create_directories"].values(): + for dir in machine_config["create_directories"]: (visit_dir / dir).mkdir(exist_ok=True) self.app.install_screen( LaunchScreen(basepath=visit_dir, add_basepath=True), "launcher" @@ -1008,8 +1008,7 @@ def compose(self): for d in s.glob("*"): if ( d.is_dir() - and d.name - not in machine_config["create_directories"].values() + and d.name not in machine_config["create_directories"] ): dest = determine_default_destination( self.app._visit, @@ -1049,7 +1048,7 @@ def compose(self): instrument_name=self.app._environment.instrument_name, ) for s, d in self._transfer_routes.items(): - if Path(d).name not in machine_config["create_directories"].values(): + if Path(d).name not in machine_config["create_directories"]: bulk.append(Label(f"Copy the source {s} to:")) bulk.append( Input( diff --git a/src/murfey/client/watchdir_multigrid.py b/src/murfey/client/watchdir_multigrid.py index 8fea2e3f..153473fc 100644 --- a/src/murfey/client/watchdir_multigrid.py +++ b/src/murfey/client/watchdir_multigrid.py @@ -53,7 +53,7 @@ def _process(self): first_loop = True while not self._stopping: for d in self._basepath.glob("*"): - if d.name in self._machine_config["create_directories"].values(): + if d.name in self._machine_config["create_directories"]: if d.is_dir() and d not in self._seen_dirs: self.notify( d, diff --git a/src/murfey/instrument_server/api.py b/src/murfey/instrument_server/api.py index c95b18df..a094fce3 100644 --- a/src/murfey/instrument_server/api.py +++ b/src/murfey/instrument_server/api.py @@ -163,7 +163,7 @@ def start_multigrid_watcher( f"{_get_murfey_url()}/instruments/{sanitise_nonpath(watcher_spec.instrument_name)}/machine", headers={"Authorization": f"Bearer {tokens[session_id]}"}, ).json() - for d in machine_config.get("create_directories", {}).values(): + for d in machine_config.get("create_directories", []): (watcher_spec.source / d).mkdir(exist_ok=True) watchers[session_id] = MultigridDirWatcher( watcher_spec.source, diff --git a/src/murfey/util/config.py b/src/murfey/util/config.py index ca8c65ed..159bdbe0 100644 --- a/src/murfey/util/config.py +++ b/src/murfey/util/config.py @@ -25,7 +25,7 @@ class MachineConfig(BaseModel, extra=Extra.allow): # type: ignore external_executables_eer: Dict[str, str] = {} external_environment: Dict[str, str] = {} rsync_module: str = "" - create_directories: Dict[str, str] = {"atlas": "atlas"} + create_directories: list[str] = ["atlas"] analyse_created_directories: List[str] = [] gain_reference_directory: Optional[Path] = None eer_fractionation_file_template: str = ""