diff --git a/ale/drivers/__init__.py b/ale/drivers/__init__.py index 7676ca30f15d10c87dadb7eb31ed8a55acf51794..c08b4af2d1d822682dd7b4f12f8a32ced82f30d7 100644 --- a/ale/drivers/__init__.py +++ b/ale/drivers/__init__.py @@ -44,7 +44,7 @@ class AleJsonEncoder(json.JSONEncoder): return obj.isoformat() return json.JSONEncoder.default(self, obj) -def load(label, props={}, formatter='usgscsm', verbose=True): +def load(label, props={}, formatter='usgscsm', verbose=False): """ Attempt to load a given label from all possible drivers @@ -68,13 +68,17 @@ def load(label, props={}, formatter='usgscsm', verbose=True): res.instrument_id with res as driver: - return formatter(driver) + isd = formatter(driver) + if verbose: + print("Success with: ", driver) + print("ISD:\n", isd) + return isd except Exception as e: if verbose: print(f'Failed: {e}\n') traceback.print_exc() raise Exception('No Such Driver for Label') -def loads(label, props='', formatter='usgscsm', verbose=True): +def loads(label, props='', formatter='usgscsm', verbose=False): res = load(label, props, formatter, verbose=verbose) return json.dumps(res, cls=AleJsonEncoder) diff --git a/ale/drivers/isis_ideal_drivers.py b/ale/drivers/isis_ideal_drivers.py index 6cadc9961c3782c365ee146a817732d96fd88570..b93ce91e2b482bb59cc2536739861e8e11089e13 100644 --- a/ale/drivers/isis_ideal_drivers.py +++ b/ale/drivers/isis_ideal_drivers.py @@ -18,6 +18,14 @@ class IdealLsIsisLabelIsisSpiceDriver(LineScanner, IsisSpice, IsisLabel, NoDisto """ return self.instrument_id + @property + def instrument_id(self): + instrument_id = super().instrument_id + + if instrument_id != "IdealCamera": + raise Exception(f"Instrument ID is {instrument_id} when it should be \"IdealCamera\"") + + return instrument_id @property def ephemeris_start_time(self): diff --git a/tests/pytests/test_ideal_drivers.py b/tests/pytests/test_ideal_drivers.py index e8589b43a7c3430b859f452b68c89ce368c27b3e..a4371fa67dea0fc0bb8a012811703b5f7ad4d828 100644 --- a/tests/pytests/test_ideal_drivers.py +++ b/tests/pytests/test_ideal_drivers.py @@ -8,9 +8,9 @@ def IdealDriver(): return IdealLsIsisLabelIsisSpiceDriver("") -@patch('ale.base.label_isis.IsisLabel.instrument_id', 1) +@patch('ale.base.label_isis.IsisLabel.instrument_id', "IdealCamera") def test_sensor_name(IdealDriver): - assert IdealDriver.sensor_name == 1 + assert IdealDriver.sensor_name == "IdealCamera" @patch('ale.drivers.isis_ideal_drivers.IdealLsIsisLabelIsisSpiceDriver.ephemeris_start_time', 451262458.99571)