From ff7df679b5d9d8184258c96411b78854a370bc9e Mon Sep 17 00:00:00 2001
From: Kelvin Rodriguez <krodriguez@usgs.gov>
Date: Mon, 7 Nov 2022 15:47:54 -0700
Subject: [PATCH] small isd_generate fixes (#499)

* isd_generate fixes

* removed hardcoded verbose

* cleaned up a but

* Fixed isd_generation test

Co-authored-by: acpaquette <acp263@nau.edu>
---
 ale/isd_generate.py                | 10 ++++++----
 tests/pytests/test_isd_generate.py |  6 +++---
 2 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/ale/isd_generate.py b/ale/isd_generate.py
index f991e2f..9e63273 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 1be7691..fb1c8c4 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)]
-- 
GitLab