Skip to content

Commit 40aa9a5

Browse files
committed
Cleanup
1 parent d4619bd commit 40aa9a5

File tree

2 files changed

+0
-120
lines changed

2 files changed

+0
-120
lines changed

mongoengine/base/datastructures.py

Lines changed: 0 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -472,60 +472,3 @@ def __getattr__(self, name):
472472

473473
def __repr__(self):
474474
return f"<LazyReference({self.document_type}, {self.pk!r})>"
475-
476-
477-
class RawDict:
478-
def __init__(self, data, deserialize_method):
479-
self._data = data
480-
self.deserialize_method = deserialize_method
481-
482-
def deserialize(self):
483-
return self.deserialize_method(self._data)
484-
485-
def __setitem__(self, key, item):
486-
self._data[key] = item
487-
488-
def __getitem__(self, key):
489-
return self._data[key]
490-
491-
def __repr__(self):
492-
return repr(self._data)
493-
494-
def __len__(self):
495-
return len(self._data)
496-
497-
def __delitem__(self, key):
498-
del self._data[key]
499-
500-
def clear(self):
501-
return self._data.clear()
502-
503-
def copy(self):
504-
return self._data.copy()
505-
506-
def has_key(self, k):
507-
return k in self._data
508-
509-
def update(self, *args, **kwargs):
510-
return self._data.update(*args, **kwargs)
511-
512-
def keys(self):
513-
return self._data.keys()
514-
515-
def values(self):
516-
return self._data.values()
517-
518-
def items(self):
519-
return self._data.items()
520-
521-
def pop(self, *args):
522-
return self._data.pop(*args)
523-
524-
def __cmp__(self, dict_):
525-
return self.__cmp__(self._data, dict_)
526-
527-
def __contains__(self, item):
528-
return item in self._data
529-
530-
def __iter__(self):
531-
return iter(self._data)

mongoengine/fields.py

Lines changed: 0 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@
1616
from bson.decimal128 import Decimal128, create_decimal128_context
1717
from pymongo import ReturnDocument
1818

19-
from mongoengine.base.datastructures import RawDict
20-
2119
try:
2220
import dateutil
2321
except ImportError:
@@ -83,7 +81,6 @@
8381
"SortedListField",
8482
"EmbeddedDocumentListField",
8583
"DictField",
86-
"LazyDictField",
8784
"MapField",
8885
"ReferenceField",
8986
"CachedReferenceField",
@@ -1100,66 +1097,6 @@ def to_python(self, value):
11001097
)
11011098

11021099

1103-
class LazyDictField(ComplexBaseField):
1104-
"""A lazy dictionary field that wraps a standard Python dictionary.
1105-
Unlike the :class:`~mongoengine.fields.DictField`, it will
1106-
**not** be automatically deserialized. Manual deserialization must be triggered
1107-
using the ``deserialize()`` method.
1108-
1109-
.. note::
1110-
Required means it cannot be empty - as the default for DictFields is {}
1111-
"""
1112-
1113-
def __init__(self, field=None, *args, **kwargs):
1114-
kwargs.setdefault("default", dict)
1115-
super().__init__(*args, field=field, **kwargs)
1116-
self.set_auto_dereferencing(False)
1117-
1118-
def validate(self, value):
1119-
"""Make sure that a list of valid fields is being used."""
1120-
if not isinstance(value, dict):
1121-
self.error("Only dictionaries may be used in a DictField")
1122-
1123-
if key_not_string(value):
1124-
msg = "Invalid dictionary key - documents must have only string keys"
1125-
self.error(msg)
1126-
1127-
# Following condition applies to MongoDB >= 3.6
1128-
# older Mongo has stricter constraints but
1129-
# it will be rejected upon insertion anyway
1130-
# Having a validation that depends on the MongoDB version
1131-
# is not straightforward as the field isn't aware of the connected Mongo
1132-
if key_starts_with_dollar(value):
1133-
self.error(
1134-
'Invalid dictionary key name - keys may not startswith "$" characters'
1135-
)
1136-
super().validate(value)
1137-
1138-
def lookup_member(self, member_name):
1139-
return DictField(db_field=member_name)
1140-
1141-
def prepare_query_value(self, op, value):
1142-
match_operators = [*STRING_OPERATORS]
1143-
1144-
if op in match_operators and isinstance(value, str):
1145-
return StringField().prepare_query_value(op, value)
1146-
1147-
if hasattr(
1148-
self.field, "field"
1149-
): # Used for instance when using DictField(ListField(IntField()))
1150-
if op in ("set", "unset") and isinstance(value, dict):
1151-
return {
1152-
k: self.field.prepare_query_value(op, v) for k, v in value.items()
1153-
}
1154-
return self.field.prepare_query_value(op, value)
1155-
1156-
return super().prepare_query_value(op, value)
1157-
1158-
def to_python(self, value):
1159-
self._data = RawDict(value, super().to_python)
1160-
return self._data
1161-
1162-
11631100
class MapField(DictField):
11641101
"""A field that maps a name to a specified field type. Similar to
11651102
a DictField, except the 'value' of each item must match the specified

0 commit comments

Comments
 (0)