Source code for apertium

from apertium.mode_search import search_path
from apertium.analysis import Analyzer, analyze  # noqa: F401
from apertium.generation import Generator, generate  # noqa: F401
from apertium.translation import Translator, translate  # noqa: F401


if False:
    from typing import List, Dict, Tuple  # noqa: F401


[docs]class ModeNotInstalled(ValueError): pass
def _update_modes(pair_path): # type: (str) -> None """ Args: pair_path (str) """ modes = search_path(pair_path) if modes['pair']: for path, lang_src, lang_trg in modes['pair']: pairs['%s-%s' % (lang_src, lang_trg)] = path if modes['analyzer']: for dirpath, modename, lang_pair in modes['analyzer']: analyzers[lang_pair] = (dirpath, modename) if modes['generator']: for dirpath, modename, lang_pair in modes['generator']: generators[lang_pair] = (dirpath, modename)
[docs]def append_pair_path(pair_path): # type: (str) -> None """ Args: pair_path (str) """ pair_paths.append(pair_path) _update_modes(pair_path)
pair_paths = ['/usr/share/apertium', '/usr/local/share/apertium'] analyzers = {} # type: Dict[str, Tuple[str, str]] generators = {} # type: Dict[str, Tuple[str, str]] pairs = {} # type: Dict[str, str] for pair_path in pair_paths: _update_modes(pair_path)