Skip to content

Commit

Permalink
Merge pull request #2441 from bagerard/remove_useless_cls_var
Browse files Browse the repository at this point in the history
minor improvement in code
  • Loading branch information
bagerard committed Dec 8, 2020
2 parents 87babaa + a025199 commit fb8f02d
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 17 deletions.
7 changes: 4 additions & 3 deletions mongoengine/base/fields.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import operator
import warnings
import weakref

from bson import DBRef, ObjectId, SON
Expand All @@ -18,7 +17,7 @@ class BaseField:
may be added to subclasses of `Document` to define a document's schema.
"""

name = None
name = None # set in TopLevelDocumentMetaclass
_geo_index = False
_auto_gen = False # Call `generate` to generate a value
_auto_dereference = True
Expand Down Expand Up @@ -265,7 +264,9 @@ class ComplexBaseField(BaseField):
items in a list / dict rather than one at a time.
"""

field = None
def __init__(self, field=None, **kwargs):
self.field = field
super().__init__(**kwargs)

def __get__(self, instance, owner):
"""Descriptor to automatically dereference references."""
Expand Down
21 changes: 7 additions & 14 deletions mongoengine/fields.py
Original file line number Diff line number Diff line change
Expand Up @@ -556,11 +556,11 @@ def to_mongo(self, value):
if callable(value):
return value()

if not isinstance(value, str):
if isinstance(value, str):
return self._parse_datetime(value)
else:
return None

return self._parse_datetime(value)

@staticmethod
def _parse_datetime(value):
# Attempt to parse a datetime from a string
Expand Down Expand Up @@ -923,10 +923,9 @@ class ListField(ComplexBaseField):
"""

def __init__(self, field=None, max_length=None, **kwargs):
self.field = field
self.max_length = max_length
kwargs.setdefault("default", lambda: [])
super().__init__(**kwargs)
super().__init__(field=field, **kwargs)

def __get__(self, instance, owner):
if instance is None:
Expand Down Expand Up @@ -1008,14 +1007,9 @@ class SortedListField(ListField):
to perform a push operation.
"""

_ordering = None
_order_reverse = False

def __init__(self, field, **kwargs):
if "ordering" in kwargs.keys():
self._ordering = kwargs.pop("ordering")
if "reverse" in kwargs.keys():
self._order_reverse = kwargs.pop("reverse")
self._ordering = kwargs.pop("ordering", None)
self._order_reverse = kwargs.pop("reverse", False)
super().__init__(field, **kwargs)

def to_mongo(self, value, use_db_field=True, fields=None):
Expand Down Expand Up @@ -1065,11 +1059,10 @@ class DictField(ComplexBaseField):
"""

def __init__(self, field=None, *args, **kwargs):
self.field = field
self._auto_dereference = False

kwargs.setdefault("default", lambda: {})
super().__init__(*args, **kwargs)
super().__init__(*args, field=field, **kwargs)

def validate(self, value):
"""Make sure that a list of valid fields is being used."""
Expand Down

0 comments on commit fb8f02d

Please sign in to comment.