diff --git a/djadmin2/core.py b/djadmin2/core.py index c3720b0..a8477b5 100644 --- a/djadmin2/core.py +++ b/djadmin2/core.py @@ -9,6 +9,13 @@ from . import views class Admin2(object): + """ + The base Admin2 object. + It keeps a registry of all registered Models and collects the urls of their + related ModelAdmin2 instances. + + It also provides an index view that serves as an entry point to the admin site. + """ index_view = views.IndexView def __init__(self, name='admin2'): @@ -16,6 +23,15 @@ class Admin2(object): self.name = name def register(self, model, modeladmin=None, **kwargs): + """ + Registers the given model with the given admin class. + + If no modeladmin is passed, it will use ModelAdmin2. If keyword + arguments are given they will be passed to the admin class on + instantiation. + + If a model is already registered, this will raise ImproperlyConfigured. + """ if model in self.registry: raise ImproperlyConfigured if not modeladmin: @@ -23,13 +39,21 @@ class Admin2(object): self.registry[model] = modeladmin(model, **kwargs) def deregister(self, model): + """ + Deregisters the given model. + + If the model is not already registered, this will raise ImproperlyConfigured. + """ try: del self.registry[model] except KeyError: raise ImproperlyConfigured def autodiscover(self): - apps = [] + """ + Autodiscovers all admin2.py modules for apps in INSTALLED_APPS by + trying to import them. + """ for app_name in [x for x in settings.INSTALLED_APPS]: try: import_module("%s.admin2" % app_name)