def delete(self, for_resonance_id): if self._phase_storage == PhaseStorage.redis: REDIS.delete(_get_rediskey_name(for_resonance_id)) elif self._phase_storage == PhaseStorage.db: conn = engine.connect() conn.execute("DELETE FROM %s WHERE resonance_id = %s;" % (TABLENAME, for_resonance_id)) elif self._phase_storage == PhaseStorage.file: filepath = get_file_name(for_resonance_id) if os.path.exists(filepath): os.remove(filepath)
def clear_phases(start: int, stop: int, planets: Tuple[str]): conn = engine.connect() resonance_ids = [] redis_logged = False for resonance in get_resonances(start, stop, False, planets): try: REDIS.delete('%s:%i' % (TABLENAME, resonance.id)) except ConnectionError: redis_logged = _log_redis(redis_logged) resonance_ids.append(str(resonance.id)) filename = get_file_name(resonance.id) if os.path.exists(filename): os.remove(filename) conn.execute("DELETE FROM %s WHERE resonance_id = ANY('{%s}'::int[]);" % (TABLENAME, ','.join(resonance_ids)))