From 84f8809ef8237f7618716777a1363fb205b72f4f Mon Sep 17 00:00:00 2001 From: Eu Pin Tien Date: Wed, 8 Jan 2025 12:01:54 +0000 Subject: [PATCH 1/2] Turned the 'create_directories' field from a dict to a list --- src/murfey/client/tui/screens.py | 7 +++---- src/murfey/client/watchdir_multigrid.py | 2 +- src/murfey/instrument_server/api.py | 2 +- src/murfey/util/config.py | 4 +++- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/murfey/client/tui/screens.py b/src/murfey/client/tui/screens.py index d1911ea05..22dc05899 100644 --- a/src/murfey/client/tui/screens.py +++ b/src/murfey/client/tui/screens.py @@ -958,7 +958,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" @@ -1016,8 +1016,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"] ): machine_data = requests.get( f"{self.app._environment.url.geturl()}/machine" @@ -1060,7 +1059,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 8fea2e3fc..153473fc3 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 c2bee0516..fb7e2418d 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 d8f333602..6a2cb9fa3 100644 --- a/src/murfey/util/config.py +++ b/src/murfey/util/config.py @@ -25,7 +25,9 @@ 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 = "" From baf1c501241d5db223256aaf4de3aa6db7af104b Mon Sep 17 00:00:00 2001 From: Eu Pin Tien Date: Wed, 8 Jan 2025 12:06:07 +0000 Subject: [PATCH 2/2] Removed trailing comma --- src/murfey/util/config.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/murfey/util/config.py b/src/murfey/util/config.py index 6a2cb9fa3..a64927dcb 100644 --- a/src/murfey/util/config.py +++ b/src/murfey/util/config.py @@ -25,9 +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: list[str] = [ - "atlas", - ] + create_directories: list[str] = ["atlas"] analyse_created_directories: List[str] = [] gain_reference_directory: Optional[Path] = None eer_fractionation_file_template: str = ""