register LDAP router
[matthijs/upstream/django-ldapdb.git] / ldapdb / __init__.py
index 765bb5e1d773dc12c7db392a3b4771a43915d2a6..cfa1dd3bfa7af423d0271df12db3a78c0867810a 100644 (file)
 # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #
 
+from django import db
 from django.conf import settings
-from ldapdb.backends.ldap.base import DatabaseWrapper
+
+from ldapdb.router import Router
 
 def escape_ldap_filter(value):
     value = unicode(value)
@@ -43,9 +45,13 @@ def escape_ldap_filter(value):
                 .replace(')', '\\29') \
                 .replace('\0', '\\00')
 
-# FIXME: is this the right place to initialize the LDAP connection?
-connection = DatabaseWrapper({
+# Add the LDAP backend
+settings.DATABASES['ldap'] = {
+    'ENGINE': 'ldapdb.backends.ldap',
     'NAME': settings.LDAPDB_SERVER_URI,
     'USER': settings.LDAPDB_BIND_DN,
-    'PASSWORD': settings.LDAPDB_BIND_PASSWORD}, 'ldap')
+    'PASSWORD': settings.LDAPDB_BIND_PASSWORD}
+connection = db.connections['ldap']
 
+# Add the LDAP router
+db.router.routers.append(Router())