1 import xml.etree.ElementTree
as etree
14 self.
logger = logging.getLogger(__name__)
22 except Exception
as e:
23 self.logger.error(
'Unable to parse ITS file. Exception: %s' % e)
24 self.logger.error(
'Stack trace: %s' % (traceback.format_exc()))
28 rec_it = self.tree.iter(
'Recording')
31 children = rec.getchildren()
32 for i
in range(len(children)):
34 self.segments.append(seg)
41 match = re.match(
r'^PT(.*)S$', time_str)
42 return float(match.groups()[0])
57 it = el.iter(
'Segment')
60 seg_utters.append(utter)
61 seg_spkrs[utter.speaker.speaker_codeinfo.code] = utter.speaker
63 seg.utters = seg_utters
64 seg.speakers = seg_spkrs.values()
72 spkr_cd = el.attrib[
'spkr']
73 codeinfo = DBConstants.SPEAKER_CODES.get_option(spkr_cd)
74 speaker =
Speaker(
None, codeinfo)
79 utter.speaker = speaker
80 utter.lena_notes =
None
82 if 'recordingInfo' in el.attrib
and len(el.attrib[
'recordingInfo']) > 1:
83 utter.lena_codes.extend(el.attrib[
'recordingInfo'][1:-1].split(
'|'))
85 if 'conversationInfo' in el.attrib
and len(el.attrib[
'conversationInfo']) > 1:
86 utter.lena_codes.extend(el.attrib[
'conversationInfo'][1:-1].split(
'|'))