From 47edf5ca24fa890a3aa767f76c590420c1e216f4 Mon Sep 17 00:00:00 2001 From: Garrett Barter Date: Wed, 10 Dec 2025 09:24:22 -0700 Subject: [PATCH 1/2] adding shell cmd line header --- windIO/converters/windIO2windIO.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) mode change 100644 => 100755 windIO/converters/windIO2windIO.py diff --git a/windIO/converters/windIO2windIO.py b/windIO/converters/windIO2windIO.py old mode 100644 new mode 100755 index 1c52d6d..7c4952b --- a/windIO/converters/windIO2windIO.py +++ b/windIO/converters/windIO2windIO.py @@ -1,3 +1,4 @@ +#!/usr/bin/env python import os import traceback from copy import deepcopy @@ -763,16 +764,21 @@ def convert_controls(self, dict_v2p0): if __name__ == "__main__": - - from pathlib import Path + import argparse + import sys - turbine_reference_path = Path(windIO.turbine_ex.__file__).parent + parser = argparse.ArgumentParser(description="WindIO v1->v2 Converter") + parser.add_argument("-i", "--input", help="Input v1 filename path") + parser.add_argument("-o", "--output", help="Output v2 filename path") + args = parser.parse_args() - filename_v1p0 = "../../test/turbine/v1p0/IEA-15-240-RWT.yaml" - filename_v2p0 = turbine_reference_path / "IEA-15-240-RWT_v2p0.yaml" + filename_v1p0 = args.input + filename_v2p0 = args.output if not os.path.exists(filename_v1p0): - raise Exception("Point to an existing yaml file that you want to convert from windIO v1.0 to v2.0.") + raise Exception(f"Cannot find input windIO v1.0 file: {filename_v1p0}.") converter = v1p0_to_v2p0(filename_v1p0, filename_v2p0) converter.convert() + + sys.exit(0) From 7b0767c4b016a4af4c03d58c0cce6985e895841e Mon Sep 17 00:00:00 2001 From: Garrett Barter Date: Mon, 15 Dec 2025 20:35:45 -0700 Subject: [PATCH 2/2] adding a windio_converter command line script on install --- pyproject.toml | 3 +++ windIO/converters/windIO2windIO.py | 14 +++++++++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 83d0478..200ef6a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -67,6 +67,9 @@ windIO = [ Homepage = "https://github.com/IEAWindSystems/windIO" Documentation = "https://ieawindsystems.github.io/windio" +[project.scripts] +windio_converter = "windIO.converters.windIO2windIO:run" + [tool.pytest.ini_options] filterwarnings = [ "error" diff --git a/windIO/converters/windIO2windIO.py b/windIO/converters/windIO2windIO.py index 7c4952b..9bd8f3a 100755 --- a/windIO/converters/windIO2windIO.py +++ b/windIO/converters/windIO2windIO.py @@ -1,4 +1,6 @@ #!/usr/bin/env python +import argparse +import sys import os import traceback from copy import deepcopy @@ -762,11 +764,8 @@ def convert_controls(self, dict_v2p0): return dict_v2p0 - -if __name__ == "__main__": - import argparse - import sys - + +def run(): parser = argparse.ArgumentParser(description="WindIO v1->v2 Converter") parser.add_argument("-i", "--input", help="Input v1 filename path") parser.add_argument("-o", "--output", help="Output v2 filename path") @@ -782,3 +781,8 @@ def convert_controls(self, dict_v2p0): converter.convert() sys.exit(0) + + +if __name__ == "__main__": + run() +