rapidsms/rapidsms — pull request #252 by dpoirier (2013-04-24 19:05:31+00:00)
Title: Simplify contrib.handlers loading

``contrib.handlers`` provides several ways to include/exclude handlers via the ``INSTALLED_APPS``, ``RAPIDSMS_HANDLERS_EXCLUDE_APPS``, ``INSTALLED_HANDLERS``, ``EXCLUDED_HANDLERS``. The various combinations of these is somewhat confusing and is somewhat overly complicated for most installs.

Some ideas:

* Use ``INSTALLED_APPS`` by default, unless ``INSTALLED_HANDLERS`` is defined. If so, then use ``INSTALLED_HANDLERS`` as the primary reference, as it will contain an explicit list of handlers. Remove all other settings.
* Adopt a registry similar to ``django.contrib.admin`` and use a similar ``admin.unregister`` workflow for removing unwanted handlers.
* Only use ``INSTALLED_HANDLERS``. Simple and explicit, but may be tedious to maintain a large list.