--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/web/lib/django/contrib/admin/__init__.py Wed Jun 02 18:57:35 2010 +0200
@@ -0,0 +1,36 @@
+from django.contrib.admin.helpers import ACTION_CHECKBOX_NAME
+from django.contrib.admin.options import ModelAdmin, HORIZONTAL, VERTICAL
+from django.contrib.admin.options import StackedInline, TabularInline
+from django.contrib.admin.sites import AdminSite, site
+
+
+def autodiscover():
+ """
+ Auto-discover INSTALLED_APPS admin.py modules and fail silently when
+ not present. This forces an import on them to register any admin bits they
+ may want.
+ """
+
+ import copy
+ from django.conf import settings
+ from django.utils.importlib import import_module
+ from django.utils.module_loading import module_has_submodule
+
+ for app in settings.INSTALLED_APPS:
+ mod = import_module(app)
+ # Attempt to import the app's admin module.
+ try:
+ before_import_registry = copy.copy(site._registry)
+ import_module('%s.admin' % app)
+ except:
+ # Reset the model registry to the state before the last import as
+ # this import will have to reoccur on the next request and this
+ # could raise NotRegistered and AlreadyRegistered exceptions
+ # (see #8245).
+ site._registry = before_import_registry
+
+ # Decide whether to bubble up this error. If the app just
+ # doesn't have an admin module, we can ignore the error
+ # attempting to import it, otherwise we want it to bubble up.
+ if module_has_submodule(mod, 'admin'):
+ raise