def test_lazyimport(self): from stuf.six import callable from stuf.utils import lazyimport fsum = lazyimport('math.fsum') self.assertTrue(callable(fsum)) fsum = lazyimport('math', 'fsum') self.assertTrue(callable(fsum))
def _load(self, destination, conf): # load configuration if isstring(conf): # load import conf = lazyimport(conf) if isinstance(conf, _BaseFactory): # load configuration from factory destination.update(i for i in conf) elif isclass(conf): # load configuration from class newconf = {} xpartmap( lambda x, y: x({y.pop('classname', 'options'): y}), iter(lazyknife(conf).traverse().attrs('maps').merge()), newconf.update, ) destination.update(newconf)
def store_backend(uri, **kw): ''' Loads the right store backend based on a URI. :argument uri: instance or name :class:`str` ''' if isinstance(uri, strings): mod = stores[uri.split('://', 1)[0]] # load module if setuptools not present if isinstance(mod, strings): # isolate classname from dot path module, klass = mod.split(':') # load module mod = lazyimport(module, klass) # load appropriate class from setuptools entry point else: mod = mod.load() # return instance return mod(uri, **kw) # no-op for existing instances return uri