From 18a91cc7948cc0f1d2bf793b589f9514e7021424 Mon Sep 17 00:00:00 2001 From: Stefan Wojcik Date: Thu, 8 Dec 2016 11:22:51 -0500 Subject: [PATCH] drop an unnecessary ALLOW_INHERITANCE --- mongoengine/base/__init__.py | 3 +-- mongoengine/base/common.py | 6 +----- mongoengine/base/document.py | 7 +++---- mongoengine/base/fields.py | 6 ++---- mongoengine/base/metaclasses.py | 10 ++++------ mongoengine/document.py | 13 +++++-------- 6 files changed, 16 insertions(+), 29 deletions(-) diff --git a/mongoengine/base/__init__.py b/mongoengine/base/__init__.py index f0663139..da31b922 100644 --- a/mongoengine/base/__init__.py +++ b/mongoengine/base/__init__.py @@ -12,8 +12,7 @@ from mongoengine.base.metaclasses import * __all__ = ( # common - 'ALLOW_INHERITANCE', 'UPDATE_OPERATORS', '_document_registry', - 'get_document', + 'UPDATE_OPERATORS', '_document_registry', 'get_document', # datastructures 'BaseDict', 'BaseList', 'EmbeddedDocumentList', diff --git a/mongoengine/base/common.py b/mongoengine/base/common.py index 7caaa695..da2b8b68 100644 --- a/mongoengine/base/common.py +++ b/mongoengine/base/common.py @@ -1,10 +1,6 @@ from mongoengine.errors import NotRegistered -__all__ = ('ALLOW_INHERITANCE', 'UPDATE_OPERATORS', 'get_document', - '_document_registry') - - -ALLOW_INHERITANCE = False # TODO is this really necessary? +__all__ = ('UPDATE_OPERATORS', 'get_document', '_document_registry') UPDATE_OPERATORS = set(['set', 'unset', 'inc', 'dec', 'pop', 'push', diff --git a/mongoengine/base/document.py b/mongoengine/base/document.py index cbe08d61..7bc18877 100644 --- a/mongoengine/base/document.py +++ b/mongoengine/base/document.py @@ -11,7 +11,7 @@ import pymongo import six from mongoengine import signals -from mongoengine.base.common import ALLOW_INHERITANCE, get_document +from mongoengine.base.common import get_document from mongoengine.base.datastructures import (BaseDict, BaseList, EmbeddedDocumentList, SemiStrictDict, StrictDict) @@ -353,7 +353,7 @@ class BaseDocument(object): data[field.name] = value # Only add _cls if allow_inheritance is True - if not self._meta.get('allow_inheritance', ALLOW_INHERITANCE): + if not self._meta.get('allow_inheritance'): data.pop('_cls') return data @@ -765,8 +765,7 @@ class BaseDocument(object): direction = None # Check to see if we need to include _cls - allow_inheritance = cls._meta.get('allow_inheritance', - ALLOW_INHERITANCE) + allow_inheritance = cls._meta.get('allow_inheritance') include_cls = ( allow_inheritance and not spec.get('sparse', False) and diff --git a/mongoengine/base/fields.py b/mongoengine/base/fields.py index c9505cc7..4ab22d87 100644 --- a/mongoengine/base/fields.py +++ b/mongoengine/base/fields.py @@ -6,7 +6,7 @@ from bson import DBRef, ObjectId, SON import pymongo import six -from mongoengine.base.common import ALLOW_INHERITANCE, UPDATE_OPERATORS +from mongoengine.base.common import UPDATE_OPERATORS from mongoengine.base.datastructures import (BaseDict, BaseList, EmbeddedDocumentList) from mongoengine.common import _import_class @@ -376,9 +376,7 @@ class ComplexBaseField(BaseField): # any _cls data so make it a generic reference allows # us to dereference meta = getattr(v, '_meta', {}) - allow_inheritance = ( - meta.get('allow_inheritance', ALLOW_INHERITANCE) - is True) + allow_inheritance = meta.get('allow_inheritance') if not allow_inheritance and not self.field: value_dict[k] = GenericReferenceField().to_mongo(v) else: diff --git a/mongoengine/base/metaclasses.py b/mongoengine/base/metaclasses.py index bb438f85..b9a54270 100644 --- a/mongoengine/base/metaclasses.py +++ b/mongoengine/base/metaclasses.py @@ -1,6 +1,6 @@ import warnings -from mongoengine.base.common import ALLOW_INHERITANCE, _document_registry +from mongoengine.base.common import _document_registry from mongoengine.base.fields import BaseField, ComplexBaseField, ObjectIdField from mongoengine.common import _import_class from mongoengine.errors import InvalidDocumentError @@ -45,7 +45,7 @@ class DocumentMetaclass(type): attrs['_meta'] = meta attrs['_meta']['abstract'] = False # 789: EmbeddedDocument shouldn't inherit abstract - if attrs['_meta'].get('allow_inheritance', ALLOW_INHERITANCE): + if attrs['_meta'].get('allow_inheritance'): StringField = _import_class('StringField') attrs['_cls'] = StringField() @@ -116,10 +116,8 @@ class DocumentMetaclass(type): if hasattr(base, '_meta'): # Warn if allow_inheritance isn't set and prevent # inheritance of classes where inheritance is set to False - allow_inheritance = base._meta.get('allow_inheritance', - ALLOW_INHERITANCE) - if (allow_inheritance is not True and - not base._meta.get('abstract')): + allow_inheritance = base._meta.get('allow_inheritance') + if not allow_inheritance and not base._meta.get('abstract'): raise ValueError('Document %s may not be subclassed' % base.__name__) diff --git a/mongoengine/document.py b/mongoengine/document.py index 31f3388d..929b1b85 100644 --- a/mongoengine/document.py +++ b/mongoengine/document.py @@ -7,10 +7,9 @@ from pymongo.read_preferences import ReadPreference import six from mongoengine import signals -from mongoengine.base import (ALLOW_INHERITANCE, BaseDict, BaseDocument, - BaseList, DocumentMetaclass, - EmbeddedDocumentList, TopLevelDocumentMetaclass, - get_document) +from mongoengine.base import (BaseDict, BaseDocument, BaseList, + DocumentMetaclass, EmbeddedDocumentList, + TopLevelDocumentMetaclass, get_document) from mongoengine.common import _import_class from mongoengine.connection import DEFAULT_CONNECTION_NAME, get_db from mongoengine.context_managers import switch_collection, switch_db @@ -813,8 +812,7 @@ class Document(BaseDocument): # If _cls is being used (for polymorphism), it needs an index, # only if another index doesn't begin with _cls - if (index_cls and not cls_indexed and - cls._meta.get('allow_inheritance', ALLOW_INHERITANCE) is True): + if index_cls and not cls_indexed and cls._meta.get('allow_inheritance'): # we shouldn't pass 'cls' to the collection.ensureIndex options # because of https://jira.mongodb.org/browse/SERVER-769 @@ -884,8 +882,7 @@ class Document(BaseDocument): # finish up by appending { '_id': 1 } and { '_cls': 1 }, if needed if [(u'_id', 1)] not in indexes: indexes.append([(u'_id', 1)]) - if (cls._meta.get('index_cls', True) and - cls._meta.get('allow_inheritance', ALLOW_INHERITANCE) is True): + if (cls._meta.get('index_cls', True) and cls._meta.get('allow_inheritance')): indexes.append([(u'_cls', 1)]) return indexes