From 710778bc9d6cedc6ceb26ac0725b11b01445d9d1 Mon Sep 17 00:00:00 2001 From: jlaura <jlaura@usgs.gov> Date: Wed, 26 Oct 2022 16:04:23 -0700 Subject: [PATCH] Adds fast fail instrument_id lookup on driver (#502) * Adds fast fail instrument_id lookup on driver * Removes import gifted by the IDE --- ale/drivers/selene_drivers.py | 7 +++++++ tests/pytests/test_kaguya_drivers.py | 8 ++++++++ 2 files changed, 15 insertions(+) diff --git a/ale/drivers/selene_drivers.py b/ale/drivers/selene_drivers.py index 13a5f8d..ebce66c 100644 --- a/ale/drivers/selene_drivers.py +++ b/ale/drivers/selene_drivers.py @@ -12,6 +12,13 @@ from ale.base.type_sensor import LineScanner class KaguyaTcIsisLabelIsisSpiceDriver(LineScanner, IsisLabel, IsisSpice, KaguyaSeleneDistortion, Driver): """ """ + VALID_INSTRUMENT_IDS = ['TC1', 'TC2'] + @property + def instrument_id(self): + iid = self.label['IsisCube']['Instrument']['InstrumentId'] + if iid not in self.VALID_INSTRUMENT_IDS: + raise ValueError(f"Instrument ID: '{iid}' not in VALID_INSTRUMENT_IDS list. Failing.") + return iid @property def spacecraft_name(self): diff --git a/tests/pytests/test_kaguya_drivers.py b/tests/pytests/test_kaguya_drivers.py index 79cb734..d33ed98 100644 --- a/tests/pytests/test_kaguya_drivers.py +++ b/tests/pytests/test_kaguya_drivers.py @@ -199,6 +199,14 @@ class test_isis_isis(unittest.TestCase): label = get_image_label("TC1S2B0_01_06691S820E0465", "isis") self.driver = KaguyaTcIsisLabelIsisSpiceDriver(label) + def test_instrument_id(self): + assert self.driver.instrument_id == 'TC1' + + def test_bad_instrument_id(self): + self.driver.label['IsisCube']['Instrument']['InstrumentId'] = 'FAIL' + with self.assertRaises(ValueError): + self.driver.instrument_id + def test_spacecraft_name(self): assert self.driver.spacecraft_name == 'KAGUYA' -- GitLab