def _save_resonances_tofile(by_aei_data: List[str], in_file: str, orbital_elem_set: ResonanceOrbitalElementSetFacade) \ -> List[Dict[str, float]]: serialized_phases = [] with open(in_file, 'w') as f: for year, value in orbital_elem_set.get_resonant_phases(by_aei_data): serialized_phase = dict(year=year, value=value) f.write(str(serialized_phase)) f.write('\n') serialized_phases.append(serialized_phase) return serialized_phases
def _build_redis_phases(by_aei_data: List[str], in_key: str, orbital_elem_set: ResonanceOrbitalElementSetFacade) \ -> List[Dict[str, float]]: pipe = REDIS.pipeline() serialized_phases = [] for year, value in orbital_elem_set.get_resonant_phases(by_aei_data): serialized_phase = dict(year=year, value=value) pipe = pipe.rpush(in_key, '%s' % serialized_phase) serialized_phases.append(serialized_phase) pipe.execute() return serialized_phases
def build(self, by_aei_data: List[str], resonance_id: int, orbital_elem_set: ResonanceOrbitalElementSetFacade) \ -> List[Dict[str, float]]: serialized_phases = [dict(year=year, value=value) for year, value in orbital_elem_set.get_resonant_phases(by_aei_data)] if self._phase_storage: if self._phase_storage == PhaseStorage.redis: _save_redis(serialized_phases, _get_rediskey_name(resonance_id)) elif self._phase_storage == PhaseStorage.db: _save_db(serialized_phases, resonance_id) elif self._phase_storage == PhaseStorage.file: _save_file(serialized_phases, get_file_name(resonance_id)) return serialized_phases