def _DeserializeRecognizedSpeech(cls, data): '''Returns a list which contains tuples (2 elements each) with string and confidence.''' if data == '' or data == 'null': return None if data[0] != '{' or data[-1] != '}': return None data = data[1:-1].strip() count = 0 if data.find(' ') > -1: count, data = data.split(None, 1) else: return None count = int(count) l = [] for _ in range(count): if data[0] != '"': return None pos = 1 str_len = len(data) while pos < str_len: if data[pos] == '"': break elif data[pos] == '\\': pos += 1 pos += 1 if pos == str_len: return None currentText = Message._DeserializeString(data[:pos + 1]) data = data[pos + 1:].strip() if data.find(' ') > -1: currentConfidence, data = data.split(None, 1) else: currentConfidence = data currentConfidence = float(currentConfidence) l.append((currentText, currentConfidence)) return l
def _DeserializeRecognizedSpeech(cls, data): '''Returns a list which contains tuples (2 elements each) with string and confidence.''' if data == '' or data == 'null': return None if data[0] != '{' or data[-1] != '}': return None data = data[1:-1].strip() count = 0 if data.find(' ') > -1: count, data = data.split(None, 1) else: return None count = int(count) l = [] for _ in range(count): if data[0] != '"': return None pos = 1 str_len = len(data) while pos < str_len: if data[pos] == '"': break elif data[pos] == '\\': pos += 1 pos += 1 if pos == str_len: return None currentText = Message._DeserializeString(data[:pos + 1]) data = data[pos+1:].strip() if data.find(' ') > -1: currentConfidence, data = data.split(None, 1) else: currentConfidence = data currentConfidence = float(currentConfidence) l.append((currentText, currentConfidence)) return l
def _ProcessReadVar(cls, var): try: if not var.data: return None if var.svType == SharedVarTypes.STRING: return Message._DeserializeString(var.data) if var.svType in [SharedVarTypes.INT, SharedVarTypes.LONG]: return int(var.data) if var.svType == SharedVarTypes.DOUBLE: return float(var.data) if var.svType in [ SharedVarTypes.INT_ARRAY, SharedVarTypes.LONG_ARRAY ]: return [int(x) for x in var.data.split()] if var.svType == SharedVarTypes.DOUBLE_ARRAY: return [float(x) for x in var.data.split()] if var.svType == SharedVarTypes.BYTE_ARRAY: return SharedVar._DeserializeByteArray(var.data) if var.svType == SharedVarTypes.RECOGNIZED_SPEECH: return SharedVar._DeserializeRecognizedSpeech(var.data) if var.svType == SharedVarTypes.MATRIX: return SharedVar._DeserializeMatrix(var.data) if var.svType == SharedVarTypes.VAR: if var.data == 'null': return None return var.data except: pass print 'Error parsing type: ' + var.svType return None
def _ProcessReadVar(cls, var): try: if not var.data: return None if var.svType == SharedVarTypes.STRING: return Message._DeserializeString(var.data) if var.svType in [SharedVarTypes.INT, SharedVarTypes.LONG]: return int(var.data) if var.svType == SharedVarTypes.DOUBLE: return float(var.data) if var.svType in [SharedVarTypes.INT_ARRAY, SharedVarTypes.LONG_ARRAY]: return [int(x) for x in var.data.split()] if var.svType == SharedVarTypes.DOUBLE_ARRAY: return [float(x) for x in var.data.split()] if var.svType == SharedVarTypes.BYTE_ARRAY: return SharedVar._DeserializeByteArray(var.data) if var.svType == SharedVarTypes.RECOGNIZED_SPEECH: return SharedVar._DeserializeRecognizedSpeech(var.data) if var.svType == SharedVarTypes.MATRIX: return SharedVar._DeserializeMatrix(var.data) if var.svType == SharedVarTypes.VAR: if var.data == 'null': return None return var.data except: pass print 'Error parsing type: ' + var.svType return None