From 7b8c6132047df9237b958902310a211d802b12b2 Mon Sep 17 00:00:00 2001 From: j-atkins <106238905+j-atkins@users.noreply.github.com> Date: Thu, 1 May 2025 15:42:53 +0200 Subject: [PATCH 1/2] fixes for over-extensive data downloads and skipping certain instruments --- src/virtualship/cli/_fetch.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/virtualship/cli/_fetch.py b/src/virtualship/cli/_fetch.py index 340edfd9..d925e71a 100644 --- a/src/virtualship/cli/_fetch.py +++ b/src/virtualship/cli/_fetch.py @@ -88,10 +88,10 @@ def _fetch(path: str | Path, username: str | None, password: str | None) -> None {"XBT", "CTD", "SHIP_UNDERWATER_ST"} & set(instrument.name for instrument in instruments_in_schedule) ) - or hasattr(ship_config, "ship_underwater_st_config") - or hasattr(ship_config, "adcp_config") + or ship_config.ship_underwater_st_config is not None + or ship_config.adcp_config is not None ): - print("Ship data will be downloaded") + print("Ship data will be downloaded. Please wait...") # Define all ship datasets to download, including bathymetry download_dict = { @@ -145,8 +145,8 @@ def _fetch(path: str | Path, username: str | None, password: str | None) -> None complete_download(download_folder) click.echo("Ship data download based on space-time region completed.") - if "DRIFTER" in instruments_in_schedule: - print("Drifter data will be downloaded") + if "DRIFTER" in str(instruments_in_schedule): + print("Drifter data will be downloaded. Please wait...") drifter_download_dict = { "UVdata": { "dataset_id": "cmems_mod_glo_phy-cur_anfc_0.083deg_PT6H-i", @@ -188,8 +188,8 @@ def _fetch(path: str | Path, username: str | None, password: str | None) -> None complete_download(download_folder) click.echo("Drifter data download based on space-time region completed.") - if "ARGO_FLOAT" in instruments_in_schedule: - print("Argo float data will be downloaded") + if "ARGO_FLOAT" in str(instruments_in_schedule): + print("Argo float data will be downloaded. Please wait...") argo_download_dict = { "UVdata": { "dataset_id": "cmems_mod_glo_phy-cur_anfc_0.083deg_PT6H-i", From f73f07ca996f2cd781172fb7919a25ef925edf97 Mon Sep 17 00:00:00 2001 From: j-atkins <106238905+j-atkins@users.noreply.github.com> Date: Fri, 2 May 2025 11:00:27 +0200 Subject: [PATCH 2/2] fixes based on PR feedback #175 --- src/virtualship/cli/_fetch.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/virtualship/cli/_fetch.py b/src/virtualship/cli/_fetch.py index d925e71a..16712d38 100644 --- a/src/virtualship/cli/_fetch.py +++ b/src/virtualship/cli/_fetch.py @@ -38,6 +38,8 @@ def _fetch(path: str | Path, username: str | None, password: str | None) -> None be provided on prompt, via command line arguments, or via a YAML config file. Run `virtualship fetch` on an expedition for more info. """ + from virtualship.expedition.instrument_type import InstrumentType + if sum([username is None, password is None]) == 1: raise ValueError("Both username and password must be provided when using CLI.") @@ -145,7 +147,7 @@ def _fetch(path: str | Path, username: str | None, password: str | None) -> None complete_download(download_folder) click.echo("Ship data download based on space-time region completed.") - if "DRIFTER" in str(instruments_in_schedule): + if InstrumentType.DRIFTER in instruments_in_schedule: print("Drifter data will be downloaded. Please wait...") drifter_download_dict = { "UVdata": { @@ -188,7 +190,7 @@ def _fetch(path: str | Path, username: str | None, password: str | None) -> None complete_download(download_folder) click.echo("Drifter data download based on space-time region completed.") - if "ARGO_FLOAT" in str(instruments_in_schedule): + if InstrumentType.ARGO_FLOAT in instruments_in_schedule: print("Argo float data will be downloaded. Please wait...") argo_download_dict = { "UVdata": {