def shop_app_module_name(appname): module_name = '%s.apps.store.apps.%s' % (project_name(), appname) module = try_import(module_name) if module is not None: return module_name module_name = 'boilerplate.apps.store.apps.%s' % appname module = try_import(module_name) if module is not None: return module_name
def modules(self): """ Populate and return registered payment modules :return: An OrderedDict like { module_name -> { 'url': url, 'app': application }} """ if self._modules is None: self._modules = OrderedDict() for root, appname in settings.BOILER_PAYMENT_MODULES: app = try_import(appname + '.app') if app is not None: application = app.application self._modules[application.name] = {'url': root, 'app': application} else: self.log.warning("Oscar misconfigured! %s.app cannot be " "imported", appname) return self._modules
def import_shop_app(appname, submodule=''): module_name = shop_app_module_name(appname) if module_name is not None: if submodule: module_name = "%s.%s" % (module_name, submodule) return try_import(module_name)