update copyright date
[matthijs/upstream/django-ldapdb.git] / ldapdb / models / base.py
index cdc44e21fc4e32869dc0c49043951a88f130f102..981fea6d994565051d838730414dc34ecfe1d71b 100644 (file)
@@ -1,7 +1,7 @@
 # -*- coding: utf-8 -*-
 # 
 # django-ldapdb
-# Copyright (C) 2009 BollorĂ© telecom
+# Copyright (C) 2009-2010 BollorĂ© telecom
 # See AUTHORS file for a full list of contributors.
 # 
 # This program is free software: you can redistribute it and/or modify
@@ -18,8 +18,6 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 
-# -*- coding: utf-8 -*-
-
 import ldap
 import logging
 
@@ -34,20 +32,15 @@ class ModelBase(django.db.models.base.ModelBase):
     Metaclass for all LDAP models.
     """
     def __new__(cls, name, bases, attrs):
-        attr_meta = attrs.pop('Ldap', None)
-
         super_new = super(ModelBase, cls).__new__
         new_class = super_new(cls, name, bases, attrs)
 
         # patch manager to use our own QuerySet class
-        def get_query_set():
-            return QuerySet(new_class)
-        new_class.objects.get_query_set = get_query_set
-        new_class._default_manager.get_query_set = get_query_set
-
-        if attr_meta:
-            new_class._meta.dn = attr_meta.dn
-            new_class._meta.object_classes = attr_meta.object_classes
+        if not new_class._meta.abstract:
+            def get_query_set():
+                return QuerySet(new_class)
+            new_class.objects.get_query_set = get_query_set
+            new_class._default_manager.get_query_set = get_query_set
 
         return new_class
 
@@ -154,7 +147,8 @@ class Model(django.db.models.base.Model):
         """
         import new
         import re
-        name = "%s_%s" % (base_class.__name__, re.sub('[=,]', '_', base_dn))
+        suffix = re.sub('[=,]', '_', base_dn)
+        name = "%s_%s" % (base_class.__name__, str(suffix))
         new_class = new.classobj(name, (base_class,), {'base_dn': base_dn, '__module__': base_class.__module__})
         return new_class