read_version_datalad.py 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. # script that calls datalad to run the data reading function
  2. import argparse
  3. import datalad.api
  4. from pathlib import Path
  5. from versions import versions
  6. from definitions import get_output_filename, downloaded_data_folder, extracted_data_folder
  7. # handle command line parameter
  8. parser = argparse.ArgumentParser()
  9. parser.add_argument("--version", help="Version to read")
  10. args = parser.parse_args()
  11. version = args.version
  12. root_path = Path(".")
  13. version_info = versions[version]
  14. input_files = [str(root_path / downloaded_data_folder / version_info["folder"] /
  15. version_info["filename"])]
  16. suffixes = ['nc', 'yaml', 'csv']
  17. output_file_template = (root_path / extracted_data_folder / version_info["folder"] /
  18. get_output_filename(version))
  19. output_files = [f"{str(output_file_template)}.{suffix}" for suffix in suffixes]
  20. datalad.api.run(
  21. cmd=f"./venv/bin/python3 src/read_version.py --version {version}",
  22. dataset=root_path,
  23. message=f"Read data for {version}.",
  24. inputs=input_files,
  25. outputs=output_files,
  26. dry_run=None,
  27. explicit=False,
  28. )