def compile_lexc_file(filename, **kwargs): """ Compile lexc file *filename* into a transducer. Parameters ---------- * `filename` : The name of the lexc file. * `kwargs` : Arguments recognized are: verbosity, with_flags, output. * `verbosity` : The verbosity of the compiler, defaults to 0 (silent). Possible values are: 0, 1, 2. * `with_flags` : Whether lexc flags are used when compiling, defaults to False. * `output` : Where output is printed. Possible values are sys.stdout, sys.stderr, a StringIO, sys.stderr being the default. Returns ------- On success the resulting transducer, else None. """ verbosity=0 withflags=False alignstrings=False type = get_default_fst_type() output=None to_console=get_output_to_console() for k,v in kwargs.items(): if k == 'verbosity': verbosity=v elif k == 'with_flags': if v == True: withflags = v elif k == 'align_strings': alignstrings = v elif k == 'output': output=v elif k == 'output_to_console': to_console=v else: print('Warning: ignoring unknown argument %s.' % (k)) lexccomp = LexcCompiler(type, withflags, alignstrings) lexccomp.setVerbosity(verbosity) lexccomp.setOutputToConsole(to_console) retval=-1 import sys if output == None: retval = libhfst.hfst_compile_lexc(lexccomp, filename, "") elif output == sys.stdout: retval = libhfst.hfst_compile_lexc(lexccomp, filename, "cout") elif output == sys.stderr: retval = libhfst.hfst_compile_lexc(lexccomp, filename, "cerr") else: retval = libhfst.hfst_compile_lexc(lexccomp, filename, "") output.write(unicode(libhfst.get_hfst_lexc_output(), 'utf-8')) return retval
def compile_lexc_file(filename, **kvargs): """ Compile lexc file *filename* into a transducer. Parameters ---------- * `filename` : The name of the lexc file. * `kvargs` : Arguments recognized are: verbosity, with_flags, output. * `verbosity` : The verbosity of the compiler, defaults to 0 (silent). Possible values are: 0, 1, 2. * `with_flags` : Whether lexc flags are used when compiling, defaults to False. * `output` : Where output is printed. Possible values are sys.stdout, sys.stderr, a StringIO, sys.stderr being the default. Returns ------- On success the resulting transducer, else None. """ verbosity=0 withflags=False alignstrings=False type = get_default_fst_type() output=None to_console=get_output_to_console() for k,v in kvargs.items(): if k == 'verbosity': verbosity=v elif k == 'with_flags': if v == True: withflags = v elif k == 'align_strings': alignstrings = v elif k == 'output': output=v elif k == 'output_to_console': to_console=v else: print('Warning: ignoring unknown argument %s.' % (k)) lexccomp = LexcCompiler(type, withflags, alignstrings) lexccomp.setVerbosity(verbosity) lexccomp.setOutputToConsole(to_console) retval=-1 import sys if output == None: retval = libhfst.hfst_compile_lexc(lexccomp, filename, "") elif output == sys.stdout: retval = libhfst.hfst_compile_lexc(lexccomp, filename, "cout") elif output == sys.stderr: retval = libhfst.hfst_compile_lexc(lexccomp, filename, "cerr") else: retval = libhfst.hfst_compile_lexc(lexccomp, filename, "") output.write(unicode(libhfst.get_hfst_lexc_output(), 'utf-8')) return retval