diff --git a/ale/drivers/base.py b/ale/drivers/base.py index a1232751f3023ca4e2de12c805b243a1ce4c322a..d424540074067502261c94508d4f52aaf12d7476 100644 --- a/ale/drivers/base.py +++ b/ale/drivers/base.py @@ -11,23 +11,6 @@ class Driver(): def __init__(self, file): self._file = file - def __enter__(self): - """ - Called when the context is created. This is used - to get the kernels furnished. - """ - if self.metakernel: - spice.furnsh(self.metakernel) - return self - - def __exit__(self, exc_type, exc_val, exc_tb): - """ - Called when the context goes out of scope. Once - this is done, the object is out of scope and the - kernels can be unloaded. - """ - spice.unload(self.metakernel) - def __str__(self): return str(self.to_dict()) @@ -236,6 +219,23 @@ class Spice(): def metakernel(self): pass + def __enter__(self): + """ + Called when the context is created. This is used + to get the kernels furnished. + """ + if self.metakernel: + spice.furnsh(self.metakernel) + return self + + def __exit__(self, exc_type, exc_val, exc_tb): + """ + Called when the context goes out of scope. Once + this is done, the object is out of scope and the + kernels can be unloaded. + """ + spice.unload(self.metakernel) + @property def odtx(self): return spice.gdpool('INS{}_OD_T_X'.format(self.ikid),0, 10) diff --git a/ale/drivers/keys.py b/ale/drivers/keys.py index 17551f4799d2125e390dc6dab654159bea6a4370..0b797589cb84db7ffe024289104d90676d13adaa 100644 --- a/ale/drivers/keys.py +++ b/ale/drivers/keys.py @@ -37,10 +37,13 @@ base = { 'sun_velocity', 'target_name', 'number_of_ephemerides', - 'fikid', 'number_of_ephemerides' } +filter = { + 'fikid' +} + transverse_distortion = { 'odtk', 'odtx' diff --git a/ale/drivers/mdis_driver.py b/ale/drivers/mdis_driver.py index f03c86f198ce157fac13097b6d2e5a258eb808f5..c44a64bca996dcbf7bdb6b91e350a2d7dc4a418a 100644 --- a/ale/drivers/mdis_driver.py +++ b/ale/drivers/mdis_driver.py @@ -18,7 +18,7 @@ class MdisSpice(Spice, Framer): 'MERCURY DUAL IMAGING SYSTEM WIDE ANGLE CAMERA':'MSGR_MDIS_WAC' } - required_keys = keys.base | keys.framer | keys.transverse_distortion + required_keys = keys.base | keys.framer | keys.filter | keys.transverse_distortion @property def metakernel(self):