nicer imports

This commit is contained in:
Stefan Wojcik 2016-12-08 10:33:15 -05:00
parent edbecb4df0
commit bb81652ffe
9 changed files with 48 additions and 18 deletions

View File

@ -0,0 +1,29 @@
# Base module is split into several files for convenience. Files inside of
# this module should import from a specific submodule (e.g.
# `from mongoengine.base.document import BaseDocument`), but all of the
# other modules should import directly from the top-level module (e.g.
# `from mongoengine.base import BaseDocument`). This approach is cleaner and
# also helps with cyclical import errors.
from mongoengine.base.common import *
from mongoengine.base.datastructures import *
from mongoengine.base.document import *
from mongoengine.base.fields import *
from mongoengine.base.metaclasses import *
__all__ = (
# common
'ALLOW_INHERITANCE', 'UPDATE_OPERATORS', '_document_registry',
'get_document',
# datastructures
'BaseDict', 'BaseList', 'EmbeddedDocumentList',
# document
'BaseDocument',
# fields
'BaseField', 'ComplexBaseField', 'ObjectIdField', 'GeoJsonBaseField',
# metaclasses
'DocumentMetaclass', 'TopLevelDocumentMetaclass'
)

View File

@ -1,9 +1,17 @@
from mongoengine.errors import NotRegistered from mongoengine.errors import NotRegistered
__all__ = ('get_document', '_document_registry') __all__ = ('ALLOW_INHERITANCE', 'UPDATE_OPERATORS', 'get_document',
'_document_registry')
ALLOW_INHERITANCE = False # TODO is this really necessary? ALLOW_INHERITANCE = False # TODO is this really necessary?
UPDATE_OPERATORS = set(['set', 'unset', 'inc', 'dec', 'pop', 'push',
'push_all', 'pull', 'pull_all', 'add_to_set',
'set_on_insert', 'min', 'max'])
_document_registry = {} _document_registry = {}

View File

@ -6,7 +6,7 @@ import six
from mongoengine.common import _import_class from mongoengine.common import _import_class
from mongoengine.errors import DoesNotExist, MultipleObjectsReturned from mongoengine.errors import DoesNotExist, MultipleObjectsReturned
__all__ = ("BaseDict", "BaseList", "EmbeddedDocumentList") __all__ = ('BaseDict', 'BaseList', 'EmbeddedDocumentList')
class BaseDict(dict): class BaseDict(dict):

View File

@ -21,7 +21,7 @@ from mongoengine.errors import (FieldDoesNotExist, InvalidDocumentError,
LookUpError, ValidationError, OperationError) LookUpError, ValidationError, OperationError)
from mongoengine.python_support import PY3 from mongoengine.python_support import PY3
__all__ = ('BaseDocument', 'NON_FIELD_ERRORS') __all__ = ('BaseDocument',)
NON_FIELD_ERRORS = '__all__' NON_FIELD_ERRORS = '__all__'

View File

@ -6,10 +6,9 @@ from bson import DBRef, ObjectId, SON
import pymongo import pymongo
import six import six
from mongoengine.base.common import ALLOW_INHERITANCE from mongoengine.base.common import ALLOW_INHERITANCE, UPDATE_OPERATORS
from mongoengine.base.datastructures import ( from mongoengine.base.datastructures import (BaseDict, BaseList,
BaseDict, BaseList, EmbeddedDocumentList EmbeddedDocumentList)
)
from mongoengine.common import _import_class from mongoengine.common import _import_class
from mongoengine.errors import ValidationError from mongoengine.errors import ValidationError
@ -18,11 +17,6 @@ __all__ = ('BaseField', 'ComplexBaseField', 'ObjectIdField',
'GeoJsonBaseField') 'GeoJsonBaseField')
UPDATE_OPERATORS = set(['set', 'unset', 'inc', 'dec', 'pop', 'push',
'push_all', 'pull', 'pull_all', 'add_to_set',
'set_on_insert', 'min', 'max'])
class BaseField(object): class BaseField(object):
"""A base class for fields in a MongoDB document. Instances of this class """A base class for fields in a MongoDB document. Instances of this class
may be added to subclasses of `Document` to define a document's schema. may be added to subclasses of `Document` to define a document's schema.

View File

@ -15,7 +15,7 @@ from pymongo.common import validate_read_preference
import six import six
from mongoengine import signals from mongoengine import signals
from mongoengine.base.common import get_document from mongoengine.base import get_document
from mongoengine.common import _import_class from mongoengine.common import _import_class
from mongoengine.connection import get_db from mongoengine.connection import get_db
from mongoengine.context_managers import switch_db from mongoengine.context_managers import switch_db

View File

@ -4,7 +4,7 @@ from bson import SON
import pymongo import pymongo
import six import six
from mongoengine.base.fields import UPDATE_OPERATORS from mongoengine.base import UPDATE_OPERATORS
from mongoengine.common import _import_class from mongoengine.common import _import_class
from mongoengine.connection import get_connection from mongoengine.connection import get_connection
from mongoengine.errors import InvalidQueryError from mongoengine.errors import InvalidQueryError

View File

@ -13,7 +13,7 @@ from tests.fixtures import (PickleEmbedded, PickleTest, PickleSignalsTest,
PickleDynamicEmbedded, PickleDynamicTest) PickleDynamicEmbedded, PickleDynamicTest)
from mongoengine import * from mongoengine import *
from mongoengine.base.common import get_document, _document_registry from mongoengine.base import get_document, _document_registry
from mongoengine.connection import get_db from mongoengine.connection import get_db
from mongoengine.errors import (NotRegistered, InvalidDocumentError, from mongoengine.errors import (NotRegistered, InvalidDocumentError,
InvalidQueryError, NotUniqueError, InvalidQueryError, NotUniqueError,

View File

@ -25,9 +25,8 @@ except ImportError:
from mongoengine import * from mongoengine import *
from mongoengine.connection import get_db from mongoengine.connection import get_db
from mongoengine.base.common import _document_registry from mongoengine.base import (BaseDict, BaseField, EmbeddedDocumentList,
from mongoengine.base.datastructures import BaseDict, EmbeddedDocumentList _document_registry)
from mongoengine.base.fields import BaseField
from mongoengine.errors import NotRegistered, DoesNotExist from mongoengine.errors import NotRegistered, DoesNotExist
from mongoengine.python_support import PY3 from mongoengine.python_support import PY3