Example #1
0
def _lang_dict_paths():
    paths = dict((pkg.name, pkg.load().get_path())
                 for pkg in _iter_entry_points('pymorphy2_dicts'))

    # discovery of pymorphy2 v0.8 dicts
    try:
        import pymorphy2_dicts
        paths['ru-old'] = pymorphy2_dicts.get_path()
    except ImportError:
        pass

    return paths
Example #2
0
def _lang_dict_paths():
    import pkg_resources
    paths = dict((pkg.name, pkg.load().get_path())
                 for pkg in pkg_resources.iter_entry_points('pymorphy2_dicts'))

    try:
        import pymorphy2_dicts
        paths['ru-old'] = pymorphy2_dicts.get_path()
    except ImportError:
        pass

    return paths
Example #3
0
def _lang_dict_paths():
    import pkg_resources

    paths = dict((pkg.name, pkg.load().get_path()) for pkg in pkg_resources.iter_entry_points("pymorphy2_dicts"))

    try:
        import pymorphy2_dicts

        paths["ru-old"] = pymorphy2_dicts.get_path()
    except ImportError:
        pass

    return paths
Example #4
0
    def choose_dictionary_path(cls, path=None):
        if path is not None:
            return path

        if cls.ENV_VARIABLE in os.environ:
            return os.environ[cls.ENV_VARIABLE]

        try:
            import pymorphy2_dicts
            return pymorphy2_dicts.get_path()
        except ImportError:
            msg = ("Can't find dictionaries. "
                   "Please either pass a path to dictionaries, "
                   "or install 'pymorphy2-dicts' package, "
                   "or set %s environment variable.") % cls.ENV_VARIABLE
            raise ValueError(msg)
Example #5
0
    def choose_dictionary_path(cls, path=None):
        if path is not None:
            return path

        if cls.ENV_VARIABLE in os.environ:
            return os.environ[cls.ENV_VARIABLE]

        try:
            import pymorphy2_dicts
            return pymorphy2_dicts.get_path()
        except ImportError:
            msg = ("Can't find dictionaries. "
                   "Please either pass a path to dictionaries, "
                   "or install 'pymorphy2-dicts' package, "
                   "or set %s environment variable.") % cls.ENV_VARIABLE
            raise ValueError(msg)
Example #6
0
def lang_dict_path(lang):
    """ Return language-specific dictionary path """
    lang_paths = _lang_dict_paths()
    if lang in lang_paths:
        return lang_paths[lang]

    if lang == 'ru':
        # backwards compatibility
        try:
            import pymorphy2_dicts
            return pymorphy2_dicts.get_path()
        except ImportError:
            raise ValueError("Can't find dictionaries for Russian. "
                             "Please install 'pymorphy2-dicts-ru' package.")

    raise ValueError("Can't find a dictionary for language %r. "
                     "Installed languages: %r" % (lang, list(lang_paths.keys())))
Example #7
0
def test_old_dictionaries_supported_by_path():
    pymorphy2_dicts = pytest.importorskip("pymorphy2_dicts")
    m = pymorphy2.MorphAnalyzer(pymorphy2_dicts.get_path())
    assert m.lang == 'ru'
    assert m.tag('стиль')[0].POS == 'NOUN'