28 lines
577 B
Python
28 lines
577 B
Python
__all__ = ('language', 'stemmer')
|
|
|
|
from .english_stemmer import EnglishStemmer
|
|
|
|
language = {
|
|
'english': EnglishStemmer,
|
|
}
|
|
|
|
try:
|
|
import Stemmer
|
|
cext_available = True
|
|
except ImportError:
|
|
cext_available = False
|
|
|
|
def algorithms():
|
|
if cext_available:
|
|
return Stemmer.language()
|
|
else:
|
|
return list(language.keys())
|
|
|
|
def stemmer(lang):
|
|
if cext_available:
|
|
return Stemmer.Stemmer(lang)
|
|
if lang.lower() in language:
|
|
return language[lang.lower()]()
|
|
else:
|
|
raise KeyError("Stemming algorithm '%s' not found" % lang)
|