def testFilledExporter(self): """Export two FSTs.""" exporter = export.Exporter(self._filename) exporter['FST1'] = pynini.accep('1234') exporter['FST2'] = pynini.accep('4321') exporter.close() stored_fsts = _read_fst_map(self._filename) self.assertLen(stored_fsts, 2) self.assertTrue(stored_fsts['FST1']) self.assertTrue(stored_fsts['FST2'])
def main(unused_argv): try: unused_argv.pop(0) if unused_argv: raise app.UsageError( f'Unexpected command line arguments: {unused_argv}') exporter = export.Exporter(FLAGS.output) generator_main(exporter) exporter.close() except: FLAGS.stderrthreshold = 'fatal' raise
def generator_main(file_name: str, graphs: Dict[str, pynini.FstLike]): """ Exports graph as OpenFst finite state archive (FAR) file with given file name and rule name. Args: file_name: exported file name graphs: Mapping of a rule name and Pynini WFST graph to be exported """ exporter = export.Exporter(file_name) for rule, graph in graphs.items(): exporter[rule] = graph.optimize() exporter.close() print(f"Created {file_name}")
def _generator_main(file_name: str, graph: pynini.FstLike, rule_name: str): """ Exports graph as OpenFst finite state archive (FAR) file with given file name and rule name. Args: file_name: exported file name graph: Pynini WFST graph to be exported rule_name: rule name for graph in created FAR file """ exporter = export.Exporter(file_name) exporter[rule_name] = graph.optimize() exporter.close() print(f'Created {file_name}')
def testFilledExporterWithFarTypes(self): """Export two FSTs different far types.""" for far_type in ['default', 'sttable', 'stlist']: # TODO(b/123775699): Currently pytype thinks `export.Exporter.__init__`'s # `far_type` arg expects Any here, but inside `__init__` itself, it # correctly expects the `Literal` type, `pynini.FarType`. This silences # what could have been an error: its labeling `far_type` as type `str` # though it is guaranteed to take values of type `pynini.FarType`. exporter = export.Exporter(self._filename, far_type=far_type) exporter['FSTA'] = pynini.accep('1234') exporter['FSTB'] = pynini.accep('4321') exporter.close() stored_fsts = _read_fst_map(self._filename) self.assertLen(stored_fsts, 2) self.assertTrue(stored_fsts['FSTA']) self.assertTrue(stored_fsts['FSTB'])
def main(unused_argv): try: unused_argv.pop(0) if unused_argv: raise app.UsageError( f'Unexpected command line arguments: {unused_argv}') target_file_pair = _get_target_file_map(FLAGS.outputs) if not target_file_pair: raise app.UsageError( '--outputs must specify at least one name=file pair.') exporter_map = { designator: export.Exporter(filename) for designator, filename in target_file_pair.items() } generator_main(exporter_map) for ex in exporter_map.values(): ex.close() except: FLAGS.stderrthreshold = 'fatal' raise
def _generator_main(file_name, graph, name): exporter = export.Exporter(file_name) exporter[name] = graph.optimize() exporter.close() print(f'Created {file_name}')
def testEmptyExporter(self): """Export an empty grammar.""" exporter = export.Exporter(self._filename) exporter.close() self.assertTrue(os.path.isfile(self._filename))