def initTriggers(event_queue, recognizer, config): """Initialize all triggers as defined in the config :param Queue.Queue event_queue: where event will be raised into :param Recognizer recognizer: recognizer instance (only :class:`~dobby.recognizers.julius.Julius` is supported now) :param dict config: triggers-related settings :return: started triggers :rtype: list of Trigger """ logger.debug(u'Initializing triggers') triggers = [] for trigger_name in config['triggers']: if trigger_name == 'clapper': pattern = Pattern([ QuietPattern(1), NoisyPattern(1, 4), QuietPattern(1, 6), NoisyPattern(1, 4), QuietPattern(1) ]) trigger = Clapper(event_queue, config['Clapper']['device_index'], pattern, config['Clapper']['threshold'], config['Clapper']['channels'], config['Clapper']['rate'], config['Clapper']['block_time']) triggers.append(trigger) logger.debug(u'Trigger clapper initialized') elif trigger_name == 'julius': trigger = JuliusTrigger(event_queue, config['Julius']['sentence'], recognizer, config['Julius']['action']) triggers.append(trigger) logger.debug(u'Trigger julius initialized') return triggers
class ClapperTestCase(unittest.TestCase): def setUp(self): # This patterns defines a QuietBlock of 1*0.25s min (no max) followed by a NoisyBlock of 1*0.25s min and 3*0.25s max, etc. # Clap 2 times for it to work p = Pattern([QuietPattern(1), NoisyPattern(1, 3), QuietPattern(1, 2), NoisyPattern(1, 3), QuietPattern(1)]) self.clapper = Clapper(event_queue=Queue.Queue(), device_index=8, pattern=p, block_time=0.25) def test_main(self): self.clapper.start() time.sleep(4) # let it live for a few seconds only :evil: self.clapper.stop() self.clapper.join()
def setUp(self): # This patterns defines a QuietBlock of 1*0.25s min (no max) followed by a NoisyBlock of 1*0.25s min and 3*0.25s max, etc. # Clap 2 times for it to work p = Pattern([QuietPattern(1), NoisyPattern(1, 3), QuietPattern(1, 2), NoisyPattern(1, 3), QuietPattern(1)]) self.clapper = Clapper(event_queue=Queue.Queue(), device_index=8, pattern=p, block_time=0.25)