def mlfparametrize(self,
                       mlf,
                       inDir=None,
                       outDir=None,
                       source_type='normalized',
                       target_type='decoded',
                       use_empty=False):
        self.setupDirs(inDir, outDir)
        foo, new_sen_file = tempfile.mkstemp()
        self.logger.info("Reading MLF")
        mlf = MLF.readFromFile(mlf)
        self.logger.info("Making build directories")
        self.makeDirs()
        self.logger.info("Getting text from XMLs")
        if new_sen_file is None:
            fn = os.path.join(self.settings['PDT_WORK_DIR'], 'sen_file')
        else:
            fn = new_sen_file
        fw = codecs.open(fn, 'w', 'utf-8')
        try:
            for fn in self.getInputXMLs():
                dxml = DXML.readFromFile(fn)
                acts = dxml.getDialogueActs(source_type)
                idx = 0
                for utter in acts:
                    for txt, attrs in utter:
                        if not txt:
                            self.logger.info(
                                "Empty <dialogue_act> in file: %s", fn)
                        key = "*/%s_%05d" % (os.path.splitext(
                            os.path.basename(fn))[0], idx)
                        if key in mlf:
                            line = mlf[key]
                        elif not use_empty:
                            line = [txt + '\n']
                        else:
                            line = ['\n']
                        line = '\n'.join(line)
                        fw.write(line)
                        idx += 1
        finally:
            fw.close()

        self.parametrize(target_type, new_sen_file)
        os.remove(new_sen_file)
    def mlfparametrize(self, mlf, inDir=None, outDir=None,
            source_type='normalized', target_type='decoded', use_empty=False):
        self.setupDirs(inDir, outDir)
        foo, new_sen_file = tempfile.mkstemp()
        self.logger.info("Reading MLF")
        mlf = MLF.readFromFile(mlf)
        self.logger.info("Making build directories")
        self.makeDirs()
        self.logger.info("Getting text from XMLs")
        if new_sen_file is None:
            fn = os.path.join(self.settings['PDT_WORK_DIR'], 'sen_file')
        else:
            fn = new_sen_file
        fw = codecs.open(fn, 'w', 'utf-8')
        try:
            for fn in self.getInputXMLs():
                dxml = DXML.readFromFile(fn)
                acts = dxml.getDialogueActs(source_type)
                idx = 0
                for utter in acts:
                    for txt, attrs in utter:
                        if not txt:
                            self.logger.info("Empty <dialogue_act> in file: %s", fn)
                        key = "*/%s_%05d" % (os.path.splitext(os.path.basename(fn))[0], idx)
                        if key in mlf:
                            line = mlf[key]
                        elif not use_empty:
                            line = [txt + '\n']
                        else:
                            line = ['\n']
                        line = '\n'.join(line)
                        fw.write(line)
                        idx += 1
        finally:
            fw.close()

        self.parametrize(target_type, new_sen_file)
        os.remove(new_sen_file)