stml_type.py
Go to the documentation of this file.
00001 #!-*- coding: utf-8 -*-
00002 
00003 # python libraries
00004 import abc
00005 import xml.etree.ElementTree as ET
00006 
00007 
00008 class STMLElement(object):
00009     __metaclass__ = abc.ABCMeta
00010 
00011     @abc.abstractmethod
00012     def get_element(self):
00013         pass    # pragma: no cover
00014 
00015 
00016 class VoiceFormat(STMLElement):
00017     """ VoiceFormat class
00018     """
00019     def __init__(self):
00020         self._root = ET.Element('Voice')
00021 
00022     def add_id(self, id):
00023         self._root.set('ID', id)
00024 
00025     def get_element(self):
00026         return self._root
00027 
00028 
00029 class UserFormat(STMLElement):
00030     """ User format class
00031     """
00032     def __init__(self):
00033         self._root = ET.Element('User')
00034 
00035     def add_id(self, user_id):
00036         self._root.set('ID', user_id)
00037 
00038     def get_element(self):
00039         return self._root
00040 
00041 
00042 class InputAudioFormat(STMLElement):
00043     """ input audio format class
00044     """
00045     def __init__(self):
00046         self._root = ET.Element('InputAudioFormat')
00047 
00048     def add_endian(self, endian):
00049         self._root.set('Endian', endian)
00050 
00051     def add_audio(self, audio):
00052         self._root.set('Audio', audio)
00053 
00054     def get_element(self):
00055         return self._root
00056 
00057 
00058 class OutputTextFormat(STMLElement):
00059     """ output audio format class
00060     """
00061     def __init__(self):
00062         self._root = ET.Element('OutputTextFormat')
00063 
00064     def add_form(self, form):
00065         self._root.set('Form', form)
00066 
00067     def get_element(self):
00068         return self._root
00069 
00070 
00071 class SRInputType(STMLElement):
00072     """ speech recognition input type
00073     """
00074     def __init__(self):
00075         self._root = ET.Element('SR_IN')
00076 
00077     def add_language(self, language):
00078         self._root.set('Language', language)
00079 
00080     def add_domain(self, domain):
00081         self._root.set('Domain', domain)
00082 
00083     def add_max_nbest(self, max_nbest):
00084         self._root.set('MaxNBest', str(max_nbest))
00085 
00086     def add_output_text_format(self, output_format):
00087         self._root.append(output_format.get_element())
00088 
00089     def add_input_audio_format(self, input_format):
00090         self._root.append(input_format.get_element())
00091 
00092     def add_voice(self, voice):
00093         self._root.append(voice.get_element())
00094 
00095     def get_element(self):
00096         return self._root
00097 
00098 
00099 class STMLType(object):
00100     """ stml builder class """
00101     def __init__(self):
00102         self._root = ET.Element('STML')
00103         self._root.set(
00104             'xmlns:xsi', 'http://www.w3.org/2001/XMLSchema-instance'
00105         )
00106 
00107     def add_version(self, version):
00108         self._root.set('Version', str(version))
00109 
00110     def add_utterance_id(self, utterance_id):
00111         self._root.set('UtteranceID', utterance_id)
00112 
00113     def add_user(self, user_id):
00114         self._root.append(user_id.get_element())
00115 
00116     def add_sr_in(self, sr_in):
00117         self._root.append(sr_in.get_element())
00118 
00119     def tostring(self):
00120         return ET.tostring(self._root, encoding="UTF-8", method="xml")


rospeex_core
Author(s): Komei Sugiura
autogenerated on Thu Jun 6 2019 18:53:10