def start(self): Component.start(self) server = ThreadedTCPServer((self._params['host'], self._params['port']), ThreadedTCPRequestHandler, False) server.allow_reuse_address = True server.server_bind() server.server_activate() server.serve_forever()
def start(self): Component.start(self) # Raise volume os.system("/usr/bin/amixer set PCM -- 90%") self._sp = subprocess.Popen(self._params['festival_bin'], stdin=subprocess.PIPE, stdout=subprocess.PIPE, universal_newlines=True) self.command('(' + self._params['voice'] + ')')
def start(self): Component.start(self) while True: now = datetime.datetime.now() if now.second == 0: dow = str(now.isoweekday()) self.send_intercom_message(self.INTERCOM_MESSAGE_EVENT_CRON, { 'dow': dow, 'hour': now.hour, 'minute': now.minute, }) time.sleep(1)
def _on_intercom_message(self, message: Message) -> Reply: if message == self.INTERCOM_MESSAGE_DO_LEARN: return self._on_learn_start(message) if message == self.INTERCOM_MESSAGE_EVENT_LEARN_END: return self._on_learn_end() if message == self.INTERCOM_MESSAGE_DO_FIRE: return self._on_do_fire(message) return Component._on_intercom_message(self, message)
def _on_intercom_message(self, message: Message) -> Reply: if message == self.INTERCOM_MESSAGE_DO_CHAT_MESSAGE: return self._on_intercom_message_send_chat(message) if message in [ self.INTERCOM_MESSAGE_DO_SEND_CAM_SNAPSHOT, self.INTERCOM_MESSAGE_DO_SEND_CAM_VIDEO ]: return self._on_cam_action(message) if message in [ self.INTERCOM_MESSAGE_DO_PHOTO_MESSAGE, self.INTERCOM_MESSAGE_DO_VIDEO_MESSAGE, self.INTERCOM_MESSAGE_DO_DOCUMENT_MESSAGE ]: return self._on_intercom_message_complex_message(message) return Component._on_intercom_message(self, message)
def _on_intercom_message(self, message: Message) -> Reply: event = Event.create_from_message(message) all_rules = RuleRepo.get_rules() for rule in all_rules: res = rule.match_event(event) if res is not False: Log.info('Triggering rule: ' + rule.code) variables = copy.deepcopy(message.message_payload) variables.update(res) threading.Thread(target=rule.fire_actions, kwargs={ 'variables': variables }).start() threading.Thread(target=self._trigger_rule_event, kwargs={ 'rule': rule, 'message': message }).start() return Component._on_intercom_message(self, message)
def _on_intercom_message(self, message: Message) -> Reply: for thread_id, handler in self.handlers.items(): handler.send_message(message) return Component._on_intercom_message(self, message)
def start(self): Component.start(self) RuleRepo.load()
def start(self): Component.start(self) self.reload()
def _on_intercom_message(self, message: Message) -> Reply: if message in [self.INTERCOM_MESSAGE_DO_GET, self.INTERCOM_MESSAGE_DO_POST]: return self._run_client(message) return Component._on_intercom_message(self, message)
def start(self): Component.start(self) self._server = CamThreadedHTTPServer((self._params['host'], int(self._params['port'])), CamStreamHandler) self._server.serve_forever()
def _on_intercom_message(self, message: Message) -> Reply: if message == self.INTERCOM_MESSAGE_DO_SAY: return self._on_say_text(message) return Component._on_intercom_message(self, message)
def start(self): Component.start(self) SignalRepo.lazy_load()