2016-09-24 16:42:01 +03:00
|
|
|
import pathlib
|
|
|
|
|
|
|
|
from .util import set_lang_class, get_lang_class
|
2016-01-15 20:01:02 +03:00
|
|
|
|
2016-04-12 17:31:16 +03:00
|
|
|
from . import en
|
|
|
|
from . import de
|
2016-04-24 19:45:16 +03:00
|
|
|
from . import zh
|
2016-01-15 20:01:02 +03:00
|
|
|
|
2016-03-24 13:19:43 +03:00
|
|
|
|
2016-09-24 23:09:21 +03:00
|
|
|
try:
|
2016-09-24 23:17:01 +03:00
|
|
|
basestring
|
2016-09-24 23:09:21 +03:00
|
|
|
except NameError:
|
2016-09-24 23:17:01 +03:00
|
|
|
basestring = str
|
2016-09-24 23:09:21 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
2016-04-12 17:31:16 +03:00
|
|
|
set_lang_class(en.English.lang, en.English)
|
|
|
|
set_lang_class(de.German.lang, de.German)
|
2016-04-24 19:45:16 +03:00
|
|
|
set_lang_class(zh.Chinese.lang, zh.Chinese)
|
2016-03-25 20:54:45 +03:00
|
|
|
|
|
|
|
|
2016-10-18 20:23:31 +03:00
|
|
|
def load(name, **overrides):
|
2016-09-26 12:07:46 +03:00
|
|
|
target_name, target_version = util.split_data_name(name)
|
2016-10-18 20:23:31 +03:00
|
|
|
path = overrides.get('path', util.get_data_path())
|
|
|
|
path = util.match_best_version(target_name, target_version, path)
|
2016-09-24 16:42:01 +03:00
|
|
|
|
2016-10-18 20:23:31 +03:00
|
|
|
if isinstance(overrides.get('vectors'), basestring):
|
|
|
|
vectors = util.match_best_version(overrides.get('vectors'), None, path)
|
2016-09-24 21:26:17 +03:00
|
|
|
|
|
|
|
cls = get_lang_class(target_name)
|
2016-10-18 20:23:31 +03:00
|
|
|
return cls(path=path, **overrides)
|