def webSearchConfirmation(self, speech, language, regMatched): webSearchQuery = regMatched.group(1) #webSearchConfirmation = regMatched.group(2) lang = language.split("-")[0] resultCallback1View = UIAddViews(refId="") resultCallback1ViewView = UIAssistantUtteranceView() resultCallback1ViewView.dialogIdentifier="WebSearch#initiateWebSearch" resultCallback1ViewView.text=webSearchAnswerText[lang].format(u"„{0}“".format(webSearchQuery)) resultCallback1ViewView.speakableText=webSearchAnswerText[lang].format(webSearchQuery) resultCallback1View.views = [resultCallback1ViewView] search = WebSearch(refId="", aceId="", query=webSearchQuery) resultCallback3View = UIAddViews(refId="") resultCallback3ViewView = UIAssistantUtteranceView() resultCallback3ViewView.dialogIdentifier="WebSearch#fatalResponse" resultCallback3ViewView.text=webSearchAnswerFailureText[lang] resultCallback3ViewView.speakableText=webSearchAnswerFailureText[lang] resultCallback3View.views=[resultCallback3ViewView] resultCallback3 = ResultCallback(commands=[resultCallback3View]) search.callbacks = [resultCallback3] resultCallback2 = ResultCallback(commands=[search]) resultCallback1View.callbacks = [resultCallback2] self.complete_request(callbacks=[ResultCallback(commands=[resultCallback1View])])
def webSearchConfirmation(self, speech, language): # lets use a little hack to get that regex matcher = self.webSearchConfirmation.__dict__[__criteria_key__]['de-DE'] regMatched = matcher.match(speech) webSearchQuery = regMatched.group(1) webSearchConfirmation = regMatched.group(2) lang = language.split("-")[0] resultCallback1View = UIAddViews(refId="") resultCallback1ViewView = UIAssistantUtteranceView() resultCallback1ViewView.dialogIdentifier="WebSearch#initiateWebSearch" resultCallback1ViewView.text=webSearchAnswerText[lang].format(u"„{0}“".format(webSearchQuery)) resultCallback1ViewView.speakableText=webSearchAnswerText[lang].format(webSearchQuery) resultCallback1View.views = [resultCallback1ViewView] search = WebSearch(refId="", aceId="", query=webSearchQuery) resultCallback3View = UIAddViews(refId="") resultCallback3ViewView = UIAssistantUtteranceView() resultCallback3ViewView.dialogIdentifier="WebSearch#fatalResponse" resultCallback3ViewView.text=webSearchAnswerFailureText[lang] resultCallback3ViewView.speakableText=webSearchAnswerFailureText[lang] resultCallback3View.views=[resultCallback3ViewView] resultCallback3 = ResultCallback(commands=[resultCallback3View]) search.callbacks = [resultCallback3] resultCallback2 = ResultCallback(commands=[search]) resultCallback1View.callbacks = [resultCallback2] self.complete_request(callbacks=[ResultCallback(commands=[resultCallback1View])])
def webSearch(self, speech, language): if (language == "en-US"): if (speech.find('Web search') == 0): speech = speech.replace('Web search', ' ', 1) elif (speech.find('Web') == 0): speech = speech.replace('Web', ' ', 1) elif (speech.find('Internet search') == 0): speech = speech.replace('Internet search', ' ', 1) elif (speech.find('Internet') == 0): speech = speech.replace('Internet', ' ', 1) speech = speech.strip() if speech == "": speech = self.ask("What is your query?") elif (language == "de-DE"): if (speech.find('Websuche') == 0): speech = speech.replace('Websuche', ' ', 1) elif (speech.find('Web suche') == 0): speech = speech.replace('Web suche', ' ', 1) elif (speech.find('Internetsuche') == 0): speech = speech.replace('Internetsuche', ' ', 1) elif (speech.find('Internet suche') == 0): speech = speech.replace('Internet suche', ' ', 1) elif (speech.find('Web') == 0): speech = speech.replace('Web', ' ', 1) elif (speech.find('Internet') == 0): speech = speech.replace('Internet', ' ', 1) speech = speech.strip() if speech == "": speech = self.ask("Nach was soll ich suchen?") search = WebSearch(refId=self.refId, query=speech) self.sendRequestWithoutAnswer(search) self.complete_request()
def webSearchConfirmation(self, speech, language): regMatched = re.match(u"(?u)\^webSearchQuery\^=\^([\w ]+)\^\^webSearchConfirmation\^=\^([\w]+)\^", speech, re.IGNORECASE) if regMatched != None: webSearchQuery = regMatched.group(1) webSearchConfirmation = regMatched.group(2) lang = language.split("-")[0] resultCallback1View = AddViews(refId="", views=[AssistantUtteranceView(dialogIdentifier="WebSearch#initiateWebSearch", text=webSearchAnswerText[lang].format(u"“{0}”".format(webSearchQuery)), speakableText=webSearchAnswerText[lang].format(webSearchQuery))]) search = WebSearch(refId="", aceId="", query=webSearchQuery) resultCallback3View = AddViews(refId="", views=[AssistantUtteranceView(dialogIdentifier="WebSearch#fatalResponse", text=webSearchAnswerFailureText[lang], speakableText=webSearchAnswerFailureText[lang])]) resultCallback3 = ResultCallback(commands=[resultCallback3View]) search.callbacks = [resultCallback3] resultCallback2 = ResultCallback(commands=[search]) resultCallback1View.callbacks = [resultCallback2] self.complete_request(callbacks=[ResultCallback(commands=[resultCallback1View])])
def webSearchConfirmation(self, speech, language): # lets use a little hack to get that regex matcher = self.webSearchConfirmation.__dict__[__criteria_key__]['de-DE'] regMatched = matcher.match(speech) webSearchQuery = regMatched.group(1) webSearchConfirmation = regMatched.group(2) lang = language.split("-")[0] resultCallback1View = AddViews(refId="", views=[AssistantUtteranceView(dialogIdentifier="WebSearch#initiateWebSearch", text=webSearchAnswerText[lang].format(u"„{0}“".format(webSearchQuery)), speakableText=webSearchAnswerText[lang].format(webSearchQuery))]) search = WebSearch(refId="", aceId="", query=webSearchQuery) resultCallback3View = AddViews(refId="", views=[AssistantUtteranceView(dialogIdentifier="WebSearch#fatalResponse", text=webSearchAnswerFailureText[lang], speakableText=webSearchAnswerFailureText[lang])]) resultCallback3 = ResultCallback(commands=[resultCallback3View]) search.callbacks = [resultCallback3] resultCallback2 = ResultCallback(commands=[search]) resultCallback1View.callbacks = [resultCallback2] self.complete_request(callbacks=[ResultCallback(commands=[resultCallback1View])])
def askWiki(self, speech, language, regex): wikiLanguage = language[0:2] searchString = regex.group(regex.lastindex).strip() #searchString=searchString.replace(' ','_') url = "http://{0}.wikipedia.org/w/api.php?format=json&action=query&titles={1}&prop=revisions&rvprop=content".format( wikiLanguage, urllib.quote_plus(str(searchString.encode("utf-8")))) try: jsonString = urllib2.urlopen(url, timeout=10).read() except: jsonString = None if jsonString != None: response = json.loads(jsonString) if response['query']['pages'].keys()[0] > 0: pageId = response['query']['pages'].keys()[0] title = response['query']['pages'][pageId]['title'] if language == "de-DE": self.say(u"Nach \"{0}\" suchen...".format(title), None) elif language == "fr-FR": self.say(u"Recherche de \"{0}\"...".format(title), None) elif language == "zh-CN": self.say(u"正在搜索“{0}”…".format(title), None) else: self.say(u"Searching for \"{0}\"...".format(title), None) wikiSearch = WebSearch(refId=self.refId, query=searchString, provider="Wikipedia") time.sleep(2) self.sendRequestWithoutAnswer(wikiSearch) self.complete_request() else: if language == "de-DE": self.say( 'Ich habe nichts zu \"{0}\" auf Wikipedia gefunden'. format(searchString)) elif language == "fr-FR": self.say( u'Je n\'ai rien trouvé sur Wikipedia pour \"{0}\"'. format(searchString)) elif language == "zh-CN": self.say(u"在维基百科上未找到“{0}”。".format(searchString)) else: self.say("Nothing found for \"{0}\" on Wikipedia".format( searchString)) else: if language == "de-DE": self.say('Ich konnte keine Verbindung zu Wikipedia aufbauen.') elif language == "fr-FR": self.say(u'Je n\'arrive pas à me connecter à Wikipedia.') elif language == "zh-CN": self.say(u'无法连接维基百科。') else: self.say("Couldn't establish connection to Wikipedia") self.complete_request()
def webSearch(self, speech, language, regex): if (language == "en-US"): if (speech.find('Web search') == 0): speech = speech.replace('Web search', ' ', 1) elif (speech.find('Web') == 0): speech = speech.replace('Web', ' ', 1) elif (speech.find('Internet search') == 0): speech = speech.replace('Internet search', ' ', 1) elif (speech.find('Internet') == 0): speech = speech.replace('Internet', ' ', 1) speech = speech.strip() if speech == "": speech = self.ask("What is your query?") elif (language == 'zh-CN'): speech = regex.group(regex.lastindex).strip() if (speech == ""): speech = self.ask(u"您想让我搜索什么?") elif (language == 'fr-FR'): speech = regex.group(regex.lastindex).strip() if (speech == ""): speech = self.ask(u"Que voulez-vous rechercher ?") elif (language == "de-DE"): if (speech.find('Websuche') == 0): speech = speech.replace('Websuche', ' ', 1) elif (speech.find('Web suche') == 0): speech = speech.replace('Web suche', ' ', 1) elif (speech.find('Internetsuche') == 0): speech = speech.replace('Internetsuche', ' ', 1) elif (speech.find('Internet suche') == 0): speech = speech.replace('Internet suche', ' ', 1) elif (speech.find('Web') == 0): speech = speech.replace('Web', ' ', 1) elif (speech.find('Internet') == 0): speech = speech.replace('Internet', ' ', 1) speech = speech.strip() if speech == "": speech = self.ask("Nach was soll ich suchen?") search = WebSearch(refId=self.refId, query=speech) self.sendRequestWithoutAnswer(search) self.complete_request()