app/django/contrib/databrowse/sites.py
changeset 323 ff1a9aa48cfd
parent 54 03e267d67478
equal deleted inserted replaced
322:6641e941ef1e 323:ff1a9aa48cfd
     1 from django import http
     1 from django import http
     2 from django.db import models
     2 from django.db import models
     3 from django.contrib.databrowse.datastructures import EasyModel, EasyChoice
     3 from django.contrib.databrowse.datastructures import EasyModel
     4 from django.shortcuts import render_to_response
     4 from django.shortcuts import render_to_response
     5 from django.utils.safestring import mark_safe
     5 from django.utils.safestring import mark_safe
     6 
     6 
     7 class AlreadyRegistered(Exception):
     7 class AlreadyRegistered(Exception):
     8     pass
     8     pass
    87         databrowse_class = databrowse_class or DefaultModelDatabrowse
    87         databrowse_class = databrowse_class or DefaultModelDatabrowse
    88         if issubclass(model_or_iterable, models.Model):
    88         if issubclass(model_or_iterable, models.Model):
    89             model_or_iterable = [model_or_iterable]
    89             model_or_iterable = [model_or_iterable]
    90         for model in model_or_iterable:
    90         for model in model_or_iterable:
    91             if model in self.registry:
    91             if model in self.registry:
    92                 raise AlreadyRegistered('The model %s is already registered' % model.__class__.__name__)
    92                 raise AlreadyRegistered('The model %s is already registered' % model.__name__)
    93             self.registry[model] = databrowse_class
    93             self.registry[model] = databrowse_class
    94 
    94 
    95     def unregister(self, model_or_iterable):
    95     def unregister(self, model_or_iterable):
    96         """
    96         """
    97         Unregisters the given model(s).
    97         Unregisters the given model(s).
   100         """
   100         """
   101         if issubclass(model_or_iterable, models.Model):
   101         if issubclass(model_or_iterable, models.Model):
   102             model_or_iterable = [model_or_iterable]
   102             model_or_iterable = [model_or_iterable]
   103         for model in model_or_iterable:
   103         for model in model_or_iterable:
   104             if model not in self.registry:
   104             if model not in self.registry:
   105                 raise NotRegistered('The model %s is not registered' % model.__class__.__name__)
   105                 raise NotRegistered('The model %s is not registered' % model.__name__)
   106             del self.registry[model]
   106             del self.registry[model]
   107 
   107 
   108     def root(self, request, url):
   108     def root(self, request, url):
   109         """
   109         """
   110         Handles main URL routing for the databrowse app.
   110         Handles main URL routing for the databrowse app.