add basic DB router
authorjlaine <jlaine@e071eeec-0327-468d-9b6a-08194a12b294>
Mon, 11 Apr 2011 07:31:25 +0000 (07:31 +0000)
committerjlaine <jlaine@e071eeec-0327-468d-9b6a-08194a12b294>
Mon, 11 Apr 2011 07:31:25 +0000 (07:31 +0000)
git-svn-id: https://svn.bolloretelecom.eu/opensource/django-ldapdb/trunk@1012 e071eeec-0327-468d-9b6a-08194a12b294

ldapdb/router.py [new file with mode: 0644]

diff --git a/ldapdb/router.py b/ldapdb/router.py
new file mode 100644 (file)
index 0000000..38dfdb0
--- /dev/null
@@ -0,0 +1,52 @@
+# -*- coding: utf-8 -*-
+# 
+# django-ldapdb
+# Copyright (c) 2009-2010, BollorĂ© telecom
+# All rights reserved.
+# 
+# See AUTHORS file for a full list of contributors.
+# 
+# Redistribution and use in source and binary forms, with or without modification,
+# are permitted provided that the following conditions are met:
+# 
+#     1. Redistributions of source code must retain the above copyright notice, 
+#        this list of conditions and the following disclaimer.
+#     
+#     2. Redistributions in binary form must reproduce the above copyright 
+#        notice, this list of conditions and the following disclaimer in the
+#        documentation and/or other materials provided with the distribution.
+# 
+#     3. Neither the name of BollorĂ© telecom nor the names of its contributors
+#        may be used to endorse or promote products derived from this software
+#        without specific prior written permission.
+# 
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+class Router(object):
+    """A router to control all database operations on models in
+    the myapp application"""
+
+    def db_for_read(self, model, **hints):
+        "Point all operations on LDAP models to 'ldap'"
+        from ldapdb.models import Model
+        if Model in model.__bases__:
+            return 'ldap'
+        return None
+
+    def db_for_write(self, model, **hints):
+        "Point all operations on LDAP models to 'ldap'"
+        from ldapdb.models import Model
+        if Model in model.__bases__:
+            return 'ldap'
+        return None
+