From bf88b6258823524d40b5148124a704f3425d61ae Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez Date: Wed, 19 Dec 2018 18:38:21 -0700 Subject: [PATCH] moved enter/exit metakernel logic to the Spice driver --- ale/drivers/base.py | 34 +++++++++++++++++----------------- ale/drivers/keys.py | 5 ++++- ale/drivers/mdis_driver.py | 2 +- 3 files changed, 22 insertions(+), 19 deletions(-) diff --git a/ale/drivers/base.py b/ale/drivers/base.py index a123275..d424540 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 17551f4..0b79758 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 f03c86f..c44a64b 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): -- GitLab