2017-03-16 16:13:08 +00:00
|
|
|
# coding: utf8
|
2017-04-15 10:05:47 +00:00
|
|
|
from __future__ import unicode_literals
|
2017-03-16 16:13:08 +00:00
|
|
|
|
2017-05-03 09:01:42 +00:00
|
|
|
import importlib
|
2017-05-08 13:27:25 +00:00
|
|
|
|
|
|
|
from .compat import basestring_
|
2017-03-28 12:10:20 +00:00
|
|
|
from .cli.info import info
|
2017-05-03 15:01:53 +00:00
|
|
|
from .glossary import explain
|
2017-05-08 13:27:25 +00:00
|
|
|
from . import util
|
2017-01-31 22:27:29 +00:00
|
|
|
|
2016-03-25 17:54:45 +00:00
|
|
|
|
2016-10-18 17:23:31 +00:00
|
|
|
def load(name, **overrides):
|
2017-05-08 13:27:25 +00:00
|
|
|
if overrides.get('path') not in (None, False, True):
|
|
|
|
name = overrides.get('path')
|
|
|
|
model_path = util.resolve_model_path(name)
|
|
|
|
meta = util.parse_package_meta(model_path)
|
|
|
|
if 'lang' not in meta:
|
|
|
|
raise IOError('No language setting found in model meta.')
|
|
|
|
module = importlib.import_module('.%s' % meta['lang'], 'spacy')
|
|
|
|
cls = getattr(module, module.__all__[0])
|
2017-03-16 16:13:08 +00:00
|
|
|
overrides['meta'] = meta
|
2017-04-16 18:35:00 +00:00
|
|
|
overrides['path'] = model_path
|
2017-04-27 09:14:26 +00:00
|
|
|
return cls(**overrides)
|