def _get_finders(self, finder): if not hasattr(self, '_finders'): self._finders = {} for key, finders_modstr in core_settings.RELATED_FINDERS.items(): # accept non-iterables too (single member named finders) if not hasattr(finders_modstr, '__iter__'): finders_modstr = (finders_modstr, ) # gather all functions before actual use to prevent import errors # during the real process finder_funcs = [] for finder_modstr in finders_modstr: finder_funcs.append( import_module_member(finder_modstr, 'related finder')) self._finders[key] = finder_funcs if finder is None: finder = 'default' if not finder in self._finders: raise ImproperlyConfigured( 'Named finder %r specified but cannot be ' 'found in RELATED_FINDERS settings.' % finder) return self._finders[finder]
def get_listing_handler(self, source, fallback=True): if not hasattr(self, '_listing_handlers'): self._listing_handlers = {} for k, v in core_settings.LISTING_HANDLERS.items(): self._listing_handlers[k] = import_module_member(v, 'Listing Handler') if 'default' not in self._listing_handlers: raise ImproperlyConfigured('You didn\'t specify any default Listing Handler.') if source in self._listing_handlers: return self._listing_handlers[source] elif not fallback: return None if settings.DEBUG: raise ImproperlyConfigured('ListingHandler %s is not defined in settings.' % source) return self._listing_handlers['default']
def get_listing_handler(self, source, fallback=True): if not hasattr(self, '_listing_handlers'): self._listing_handlers = {} for k, v in core_settings.LISTING_HANDLERS.items(): self._listing_handlers[k] = import_module_member( v, 'Listing Handler') if 'default' not in self._listing_handlers: raise ImproperlyConfigured( 'You didn\'t specify any default Listing Handler.') if source in self._listing_handlers: return self._listing_handlers[source] elif not fallback: return None if settings.DEBUG: raise ImproperlyConfigured( 'ListingHandler %s is not defined in settings.' % source) return self._listing_handlers['default']
def _get_finders(self, finder): if not hasattr(self, '_finders'): self._finders = {} for key, finders_modstr in core_settings.RELATED_FINDERS.items(): # accept non-iterables too (single member named finders) if not hasattr(finders_modstr, '__iter__'): finders_modstr = (finders_modstr,) # gather all functions before actual use to prevent import errors # during the real process finder_funcs = [] for finder_modstr in finders_modstr: finder_funcs.append(import_module_member(finder_modstr, 'related finder')) self._finders[key] = finder_funcs if finder is None: finder = 'default' if not finder in self._finders: raise ImproperlyConfigured('Named finder %r specified but cannot be ' 'found in RELATED_FINDERS settings.' % finder) return self._finders[finder]
def get_storage_class(): class_storage = import_module_member(contests_settings.FORM_STEPS_STORAGE, 'form steps storage') if not issubclass(class_storage, BaseStorage): ImproperlyConfigured('Error importing storage class "%s" becouse it is not subclass of "%s"' % (class_storage, BaseStorage)) return class_storage