Exemple #1
0
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
Exemple #2
0
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
Exemple #3
0
    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