def _get_trigger_db_by_name_and_pack(name, pack): try: return Trigger.query(name=name, pack=pack).first() except ValueError as e: LOG.debug('Database lookup for name="%s",pack="%s" resulted ' + 'in exception : %s.', name, pack, e, exc_info=True) return None
def _get_trigger_db(type=None, parameters=None): try: return Trigger.query(type=type, parameters=parameters).first() except ValueError as e: LOG.debug('Database lookup for type="%s" parameters="%s" resulted ' + 'in exception : %s.', type, parameters, e, exc_info=True) return None
def test_trigger_lookup(self): triggertype = ReactorModelTest._create_save_triggertype() saved = ReactorModelTest._create_save_trigger(triggertype) retrievedtriggers = Trigger.query(name=saved.name) self.assertEqual(1, len(retrievedtriggers), 'No triggers found.') for retrievedtrigger in retrievedtriggers: self.assertEqual(saved.id, retrievedtrigger.id, 'Incorrect trigger returned.') ReactorModelTest._delete([saved, triggertype])
def get_trigger_db_given_type_and_params(type=None, parameters=None): try: parameters = parameters or {} trigger_db = Trigger.query(type=type, parameters=parameters).first() if not parameters and not trigger_db: # We need to do double query because some TriggeDB objects without # parameters have "parameters" attribute stored in the db and others # don't trigger_db = Trigger.query(type=type, parameters=None).first() return trigger_db except ValueError as e: LOG.debug('Database lookup for type="%s" parameters="%s" resulted ' + 'in exception : %s.', type, parameters, e, exc_info=True) return None
def _load_triggers_from_db(self): for trigger_type in self._trigger_types: for trigger in Trigger.query(type=trigger_type): LOG.debug('Found existing trigger: %s in db.' % trigger) self._handlers[publishers.CREATE_RK](trigger)