From: Traun Leyden Date: Sat, 25 Aug 2007 22:57:44 +0000 (+0000) Subject: abort upon receiving an empty result in freeswitch event X-Git-Tag: v1.0-beta2~681 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1d347c8af1526af4e0e0049d8db7fc58c1d9bef9;p=thirdparty%2Ffreeswitch.git abort upon receiving an empty result in freeswitch event git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5665 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- diff --git a/scripts/py_modules/speechtools.py b/scripts/py_modules/speechtools.py index 88e030db9b..1c91e2620f 100644 --- a/scripts/py_modules/speechtools.py +++ b/scripts/py_modules/speechtools.py @@ -83,6 +83,7 @@ class SpeechObtainer: self.max_tries=max_tries self.detected_phrases = [] + self.failed = False def setGrammar(self, grammar): """ @@ -124,7 +125,8 @@ class SpeechObtainer: console_log("debug", "starting run() while loop\n") while (session.ready() and num_tries < self.max_tries and - len(self.detected_phrases) < self.required_phrases): + len(self.detected_phrases) < self.required_phrases and + not self.failed): console_log("debug", "top of run() while loop\n") session.collectDigits(self.wait_time) num_tries += 1 @@ -172,6 +174,12 @@ class SpeechObtainer: # unicode strings. # TODO: check the score body = event['body'] + if not body or len(body) == 0 or body == "(null)": + # freeswitch returned a completely empty result + self.failed = True + # do we want to return stop? what should we return? + return "stop" + dom = minidom.parseString(body) phrase = dom.getElementsByTagName(self.grammar.obj_path)[0] phrase_text = self.getText(phrase)