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 14:33:37 +00:00
|
|
|
name = util.resolve_load_name(name, **overrides)
|
2017-05-08 13:27:25 +00:00
|
|
|
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.')
|
2017-05-08 21:50:45 +00:00
|
|
|
cls = util.load_lang_class(meta['lang'])
|
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)
|