diff --git a/ale/isd_generate.py b/ale/isd_generate.py index f991e2fb74ec0af5383620ab82839654551a3bfa..9e63273745e07758ad0f50e880dda06bfaa29e46 100755 --- a/ale/isd_generate.py +++ b/ale/isd_generate.py @@ -14,7 +14,8 @@ import argparse import concurrent.futures import logging import os -from pathlib import Path +import pvl +from pathlib import Path, PurePath import sys import ale @@ -81,7 +82,7 @@ def main(): else: try: k = ale.util.generate_kernels_from_cube(args.kernel, expand=True) - except KeyError: + except (KeyError, pvl.exceptions.LexerError): k = [args.kernel, ] if len(args.input) == 1: @@ -139,9 +140,10 @@ def file_to_isd( logger.info(f"Reading: {file}") if kernels is not None: - usgscsm_str = ale.loads(file, props={'kernels': kernels}) + kernels = [str(PurePath(p)) for p in kernels] + usgscsm_str = ale.loads(file, props={'kernels': kernels}, verbose=log_level>=logging.INFO) else: - usgscsm_str = ale.loads(file) + usgscsm_str = ale.loads(file, verbose=log_level>=logging.INFO) logger.info(f"Writing: {isd_file}") isd_file.write_text(usgscsm_str) diff --git a/tests/pytests/test_isd_generate.py b/tests/pytests/test_isd_generate.py index 1be7691f7db97699ef09abdbac6aa4e9817dd9d3..fb1c8c4b065dea199b7871f948c453c1c4b00b10 100644 --- a/tests/pytests/test_isd_generate.py +++ b/tests/pytests/test_isd_generate.py @@ -28,7 +28,7 @@ class TestFile(unittest.TestCase): cube_str = "dummy.cub" isdg.file_to_isd(cube_str) self.assertEqual( - m_loads.call_args_list, [call(cube_str)] + m_loads.call_args_list, [call(cube_str, verbose=True)] ) self.assertEqual( m_path_wt.call_args_list, [call(json_text)] @@ -37,11 +37,11 @@ class TestFile(unittest.TestCase): m_path_wt.reset_mock() with patch("ale.loads", return_value=json_text) as m_loads: out_str = "dummy.json" - kernel_val = "list of kernels" + kernel_val = ["list of kernels"] isdg.file_to_isd(cube_str, out=out_str, kernels=kernel_val) self.assertEqual( m_loads.call_args_list, - [call(cube_str, props={'kernels': kernel_val})] + [call(cube_str, props={'kernels': kernel_val}, verbose=True)] ) self.assertEqual( m_path_wt.call_args_list, [call(json_text)]