Code source de NaoQuest.objectives.info_objective
# coding: utf-8
try:
import NaoCreator.Tool.speech_move as sm
import NaoCreator.SpeechToText.nao_key_reco as nkr
from NaoQuest.objective import *
from NaoCreator.SpeechToText.nao_listen import nao_listen
from Interceptor.interceptor import typemsg
except Exception as e:
print e
[docs]class InfoObjective(Objective):
"""
Objectif de type "info", récupère une information donnée par l'utilisateur.
Echoue si aucune réponse est renvoyée (taille de la réponse = 0).
"""
def __init__(self, scenario_name="", quest_name="", inner_name=""):
super(InfoObjective, self).__init__(scenario_name, quest_name, inner_name)
def _exec(self):
if not hasattr(self, "question"):
print("Error! No \"question\" in InfoObjective \"{}\"".format(self.inner_name))
return
sm.speech_and_move(self.question)
def _interact(self):
self.failed_interact = False
self.raw_answer = nao_listen().lower()
if typemsg(self.raw_answer):
self.answer = ""
self.failed_interact = True
else:
self.answer = self.raw_answer # nkr.sentence_keywords(self.raw_answer, self.keywords)
def _verif(self):
if self.failed_interact:
return False
return len(self.answer) > 0