def set_deaf(self): """ Set the trigger status (deaf or not) Curl test: curl -i -H "Content-Type: application/json" --user admin:secret -X POST \ -d '{"deaf": "True"}' http://127.0.0.1:5000/deaf """ if not request.get_json() or 'deaf' not in request.get_json(): data = {"Error": "Wrong parameters, 'deaf' not set"} return jsonify(error=data), 400 # get deaf if present deaf = utils.get_value_flag_from_request(http_request=request, flag_to_find="deaf", is_boolean=True) signal_order = SignalLauncher.get_order_instance() if signal_order is not None and deaf is not None and self.settings.options.deaf is not None: SettingEditor.set_deaf_status(signal_order.trigger_instance, deaf) data = {"deaf": self.settings.options.deaf} return jsonify(data), 200 data = {"error": "Cannot switch deaf status"} return jsonify(error=data), 400
def set_mute(self): """ Set the trigger status (muted or not) Curl test: curl -i -H "Content-Type: application/json" --user admin:secret -X POST \ -d '{"mute": "True"}' http://127.0.0.1:5000/mute """ if not request.get_json() or 'mute' not in request.get_json(): abort(400) # get mute if present mute = self.get_boolean_flag_from_request(request, boolean_flag_to_find="mute") # find the order signal and call the mute method signal_order = SignalLauncher.get_order_instance() if signal_order is not None: signal_order.set_mute_status(mute) data = {"mute": signal_order.get_mute_status()} return jsonify(data), 200 data = {"error": "Cannot switch mute status"} return jsonify(error=data), 400
def __init__(self, **kwargs): super(Deaf, self).__init__(**kwargs) self.status = kwargs.get('status', None) # check if parameters have been provided if self._is_parameters_ok(): signal_order = SignalLauncher.get_order_instance() if signal_order is not None: SettingEditor.set_deaf_status(signal_order.trigger_instance, self.status)
def __init__(self, **kwargs): super(Mute, self).__init__(**kwargs) self.status = kwargs.get('status', None) # check if parameters have been provided if self._is_parameters_ok(): signal_order = SignalLauncher.get_order_instance() if signal_order is not None: signal_order.set_mute_status(self.status)
def get_mute(self): """ Return the current trigger status Curl test curl -i --user admin:secret -X GET http://127.0.0.1:5000/mute """ # find the order signal and call the mute method signal_order = SignalLauncher.get_order_instance() if signal_order is not None: data = {"mute": signal_order.get_mute_status()} return jsonify(data), 200 # if no Order instance data = {"error": "Mute status unknow"} return jsonify(error=data), 400
def _set_settings(self): # PLAYERS if self.default_player: SettingEditor.set_default_player(self.default_player) if self.players: for player_el in self.players: if isinstance(player_el, dict): for player_name in player_el: name = player_name parameters = player_el[name] new_player = Player(name=name, parameters=parameters) SettingEditor.set_players(new_player) # STT if self.default_stt: SettingEditor.set_default_stt(self.default_stt) if self.speech_to_text: for stt_el in self.speech_to_text: if isinstance(stt_el, dict): for stt_name in stt_el: name = stt_name parameters = stt_el[name] new_stt = Stt(name=name, parameters=parameters) SettingEditor.set_stts(new_stt) # TRIGGER if self.default_trigger: SettingEditor.set_default_trigger(self.default_trigger) if self.triggers: for trigger_el in self.triggers: if isinstance(trigger_el, dict): for trigger_name in trigger_el: name = trigger_name parameters = trigger_el[name] new_trigger = Trigger(name=name, parameters=parameters) SettingEditor.set_trigger(new_trigger) # TTS if self.default_tts: SettingEditor.set_default_tts(self.default_tts) if self.text_to_speech: for tts_el in self.text_to_speech: if isinstance(tts_el, dict): for tts_name in tts_el: name = tts_name parameters = tts_el[name] new_tts = Tts(name=name, parameters=parameters) SettingEditor.set_ttss(new_tts) # Options if self.deaf is not None: signal_order = SignalLauncher.get_order_instance() if signal_order is not None: SettingEditor.set_deaf_status(signal_order.trigger_instance, self.deaf) if self.mute is not None: SettingEditor.set_mute_status(self.mute) if self.energy_threshold is not None: SettingEditor.set_energy_threshold(self.energy_threshold) if self.adjust_for_ambient_noise_second is not None: SettingEditor.set_adjust_for_ambient_noise_second(self.adjust_for_ambient_noise_second) # Hooks if self.hooks: SettingEditor.set_hooks(self.hooks) # Variables if self.var_files: variables = dict() for files in self.var_files: var = Utils.get_real_file_path(files) # var is None has been checked previously in _is_parameters_ok() method variables.update(YAMLLoader.get_config(var)) SettingEditor.set_variables(variables) if self.variable is not None: SettingEditor.set_variables(self.variable)
def _set_settings(self): # PLAYERS if self.default_player: SettingEditor.set_default_player(self.default_player) if self.players: for player_el in self.players: if isinstance(player_el, dict): for player_name in player_el: name = player_name parameters = player_el[name] new_player = Player(name=name, parameters=parameters) SettingEditor.set_players(new_player) # STT if self.default_stt: SettingEditor.set_default_stt(self.default_stt) if self.speech_to_text: for stt_el in self.speech_to_text: if isinstance(stt_el, dict): for stt_name in stt_el: name = stt_name parameters = stt_el[name] new_stt = Stt(name=name, parameters=parameters) SettingEditor.set_stts(new_stt) # TRIGGER if self.default_trigger: SettingEditor.set_default_trigger(self.default_trigger) if self.triggers: for trigger_el in self.triggers: if isinstance(trigger_el, dict): for trigger_name in trigger_el: name = trigger_name parameters = trigger_el[name] new_trigger = Trigger(name=name, parameters=parameters) SettingEditor.set_trigger(new_trigger) # TTS if self.default_tts: SettingEditor.set_default_tts(self.default_tts) if self.text_to_speech: for tts_el in self.text_to_speech: if isinstance(tts_el, dict): for tts_name in tts_el: name = tts_name parameters = tts_el[name] new_tts = Tts(name=name, parameters=parameters) SettingEditor.set_ttss(new_tts) # Options if self.deaf is not None: signal_order = SignalLauncher.get_order_instance() if signal_order is not None: SettingEditor.set_deaf_status(signal_order.trigger_instance, self.deaf) if self.mute is not None: SettingEditor.set_mute_status(self.mute) if self.energy_threshold is not None: SettingEditor.set_energy_threshold(self.energy_threshold) if self.adjust_for_ambient_noise_second is not None: SettingEditor.set_adjust_for_ambient_noise_second( self.adjust_for_ambient_noise_second) # Hooks if self.hooks: SettingEditor.set_hooks(self.hooks) # Variables if self.var_files: variables = dict() for files in self.var_files: var = Utils.get_real_file_path(files) # var is None has been checked previously in _is_parameters_ok() method variables.update(YAMLLoader.get_config(var)) SettingEditor.set_variables(variables) if self.variable is not None: SettingEditor.set_variables(self.variable)