From 7679210564d0cf2d460383c74958c0b68008868a Mon Sep 17 00:00:00 2001 From: Sam Minot Date: Fri, 2 Aug 2024 13:52:09 -0700 Subject: [PATCH 1/5] Let the user specify a dataset to download by name only --- cirro/cli/controller.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/cirro/cli/controller.py b/cirro/cli/controller.py index 766c03b3..ddfab462 100644 --- a/cirro/cli/controller.py +++ b/cirro/cli/controller.py @@ -134,6 +134,13 @@ def run_download(input_params: DownloadArguments, interactive=False): raise InputError('There are no files in this dataset to download') files_to_download = ask_dataset_files(files) + project_id = input_params['project'] + dataset_id = input_params['dataset'] + else: + + project_id = get_id_from_name(projects, input_params['project']) + datasets = cirro.datasets.list(input_params['project']) + dataset_id = get_id_from_name(datasets, input_params['dataset']) logger.info("Downloading files") if cirro.configuration.enable_additional_checksum: @@ -142,8 +149,6 @@ def run_download(input_params: DownloadArguments, interactive=False): checksum_method = "MD5" logger.info(f"File content validated by {checksum_method}") - project_id = get_id_from_name(projects, input_params['project']) - dataset_id = input_params['dataset'] cirro.datasets.download_files(project_id=project_id, dataset_id=dataset_id, download_location=input_params['data_directory'], From abcd320aa025f55298182675cceac5f17f180597 Mon Sep 17 00:00:00 2001 From: Nathan Thorpe Date: Mon, 5 Aug 2024 08:57:01 -0700 Subject: [PATCH 2/5] list-datasets, allow ID or name of project --- cirro/cli/controller.py | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/cirro/cli/controller.py b/cirro/cli/controller.py index ddfab462..a4f0e96d 100644 --- a/cirro/cli/controller.py +++ b/cirro/cli/controller.py @@ -32,18 +32,16 @@ def run_list_datasets(input_params: ListArguments, interactive=False): _check_configure() cirro = CirroApi() logger.info(f"Collecting data from {cirro.configuration.base_url}") + projects = cirro.projects.list() - # If the user provided the --interactive flag - if interactive: - - # Get the list of projects available to the user - projects = cirro.projects.list() - - if len(projects) == 0: - raise InputError(NO_PROJECTS) + if len(projects) == 0: + raise InputError(NO_PROJECTS) + if interactive: # Prompt the user for the project input_params = gather_list_arguments(input_params, projects) + else: + input_params['project'] = get_id_from_name(projects, input_params['project']) # List the datasets available in that project datasets = cirro.datasets.list(input_params['project']) From c497505083834439e291e70963e11b7bf24164f7 Mon Sep 17 00:00:00 2001 From: Nathan Thorpe Date: Mon, 5 Aug 2024 08:59:56 -0700 Subject: [PATCH 3/5] run-ingest, id or name for project & process --- cirro/cli/controller.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cirro/cli/controller.py b/cirro/cli/controller.py index a4f0e96d..c16966b7 100644 --- a/cirro/cli/controller.py +++ b/cirro/cli/controller.py @@ -68,6 +68,8 @@ def run_ingest(input_params: UploadArguments, interactive=False): input_params, files = gather_upload_arguments(input_params, projects, processes) directory = input_params['data_directory'] else: + input_params['project'] = get_id_from_name(projects, input_params['project']) + input_params['process'] = get_id_from_name(processes, input_params['process']) directory = input_params['data_directory'] files = get_files_in_directory(directory) @@ -134,8 +136,8 @@ def run_download(input_params: DownloadArguments, interactive=False): files_to_download = ask_dataset_files(files) project_id = input_params['project'] dataset_id = input_params['dataset'] - else: + else: project_id = get_id_from_name(projects, input_params['project']) datasets = cirro.datasets.list(input_params['project']) dataset_id = get_id_from_name(datasets, input_params['dataset']) From a5d09287111568790c7488010a0cebc58140665d Mon Sep 17 00:00:00 2001 From: Nathan Thorpe Date: Mon, 5 Aug 2024 09:27:02 -0700 Subject: [PATCH 4/5] fix bug --- cirro/cli/controller.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cirro/cli/controller.py b/cirro/cli/controller.py index c16966b7..cf8be4ba 100644 --- a/cirro/cli/controller.py +++ b/cirro/cli/controller.py @@ -139,7 +139,7 @@ def run_download(input_params: DownloadArguments, interactive=False): else: project_id = get_id_from_name(projects, input_params['project']) - datasets = cirro.datasets.list(input_params['project']) + datasets = cirro.datasets.list(project_id) dataset_id = get_id_from_name(datasets, input_params['dataset']) logger.info("Downloading files") From a6459d9dc773f95b721589745c7fbd97f00b8e47 Mon Sep 17 00:00:00 2001 From: Nathan Thorpe Date: Mon, 5 Aug 2024 09:28:46 -0700 Subject: [PATCH 5/5] add run configuration for intellij --- .run/cli.run.xml | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 .run/cli.run.xml diff --git a/.run/cli.run.xml b/.run/cli.run.xml new file mode 100644 index 00000000..6f2f7e41 --- /dev/null +++ b/.run/cli.run.xml @@ -0,0 +1,30 @@ + + + + + \ No newline at end of file