diff --git a/mongoengine/base/datastructures.py b/mongoengine/base/datastructures.py index e4d2b3922..b407ace4b 100644 --- a/mongoengine/base/datastructures.py +++ b/mongoengine/base/datastructures.py @@ -64,7 +64,7 @@ def __setstate__(self, state): self = state return self - def clear(self, *args, **kwargs): + def clear(self): self._mark_as_changed() return super(BaseDict, self).clear() @@ -72,7 +72,7 @@ def pop(self, *args, **kwargs): self._mark_as_changed() return super(BaseDict, self).pop(*args, **kwargs) - def popitem(self, *args, **kwargs): + def popitem(self): self._mark_as_changed() return super(BaseDict, self).popitem() @@ -188,7 +188,7 @@ def remove(self, *args, **kwargs): self._mark_as_changed() return super(BaseList, self).remove(*args, **kwargs) - def reverse(self, *args, **kwargs): + def reverse(self): self._mark_as_changed() return super(BaseList, self).reverse() diff --git a/mongoengine/base/metaclasses.py b/mongoengine/base/metaclasses.py index b5981aaee..850a22a2d 100644 --- a/mongoengine/base/metaclasses.py +++ b/mongoengine/base/metaclasses.py @@ -162,7 +162,7 @@ def __new__(cls, name, bases, attrs): # copies __func__ into im_func and __self__ into im_self for # classmethod objects in Document derived classes. if PY3: - for key, val in new_class.__dict__.items(): + for val in new_class.__dict__.values(): if isinstance(val, classmethod): f = val.__get__(new_class) if hasattr(f, '__func__') and not hasattr(f, 'im_func'): diff --git a/mongoengine/dereference.py b/mongoengine/dereference.py index 7fcc2ad26..2a296f42b 100644 --- a/mongoengine/dereference.py +++ b/mongoengine/dereference.py @@ -88,15 +88,15 @@ def _find_references(self, items, depth=0): if not items or depth >= self.max_depth: return reference_map - # Determine the iterator to use - if not hasattr(items, 'items'): - iterator = enumerate(items) + # Determine the iterable to use + if hasattr(items, 'values'): + iterable = items.itervalues() else: - iterator = items.iteritems() + iterable = items # Recursively find dbreferences depth += 1 - for k, item in iterator: + for item in iterable: if isinstance(item, (Document, EmbeddedDocument)): for field_name, field in item._fields.iteritems(): v = item._data.get(field_name, None) @@ -217,7 +217,7 @@ def _attach_objects(self, items, depth=0, instance=None, name=None): if k in self.object_map and not is_list: data[k] = self.object_map[k] elif isinstance(v, (Document, EmbeddedDocument)): - for field_name, field in v._fields.iteritems(): + for field_name in v._fields.iterkeys(): v = data[k]._data.get(field_name, None) if isinstance(v, DBRef): data[k]._data[field_name] = self.object_map.get( @@ -238,5 +238,4 @@ def _attach_objects(self, items, depth=0, instance=None, name=None): if is_list: return tuple(data) if as_tuple else list_type(data, instance, name) return BaseDict(data, instance, name) - depth += 1 return data diff --git a/mongoengine/queryset/queryset.py b/mongoengine/queryset/queryset.py index 6e5f7220e..6d194dc59 100644 --- a/mongoengine/queryset/queryset.py +++ b/mongoengine/queryset/queryset.py @@ -88,7 +88,7 @@ def _populate_cache(self): self._result_cache = [] if self._has_more: try: - for i in xrange(ITER_CHUNK_SIZE): + for _ in xrange(ITER_CHUNK_SIZE): self._result_cache.append(self.next()) except StopIteration: self._has_more = False @@ -137,7 +137,7 @@ def __repr__(self): return '.. queryset mid-iteration ..' data = [] - for i in xrange(REPR_OUTPUT_SIZE + 1): + for _ in xrange(REPR_OUTPUT_SIZE + 1): try: data.append(self.next()) except StopIteration: @@ -154,10 +154,3 @@ def __iter__(self): queryset = self.clone() queryset.rewind() return queryset - - -class QuerySetNoDeRef(QuerySet): - """Special no_dereference QuerySet""" - - def __dereference(items, max_depth=1, instance=None, name=None): - return items diff --git a/tests/document/inheritance.py b/tests/document/inheritance.py index 7673a103d..5d2f83b94 100644 --- a/tests/document/inheritance.py +++ b/tests/document/inheritance.py @@ -4,8 +4,6 @@ import unittest import warnings -from datetime import datetime - from tests.fixtures import Base from mongoengine import Document, EmbeddedDocument, connect diff --git a/tests/document/json_serialisation.py b/tests/document/json_serialisation.py index f47b5de5b..df0b7a8ce 100644 --- a/tests/document/json_serialisation.py +++ b/tests/document/json_serialisation.py @@ -80,8 +80,7 @@ class Doc(Document): float_field = FloatField(default=1.1) boolean_field = BooleanField(default=True) datetime_field = DateTimeField(default=datetime.now) - embedded_document_field = EmbeddedDocumentField(EmbeddedDoc, - default=lambda: EmbeddedDoc()) + embedded_document_field = EmbeddedDocumentField(EmbeddedDoc, default=EmbeddedDoc) list_field = ListField(default=lambda: [1, 2, 3]) dict_field = DictField(default=lambda: {"hello": "world"}) objectid_field = ObjectIdField(default=ObjectId) @@ -100,8 +99,7 @@ class Doc(Document): geo_point_field = GeoPointField(default=lambda: [1, 2]) sequence_field = SequenceField() uuid_field = UUIDField(default=uuid.uuid4) - generic_embedded_document_field = GenericEmbeddedDocumentField( - default=lambda: EmbeddedDoc()) + generic_embedded_document_field = GenericEmbeddedDocumentField(default=EmbeddedDoc) def __eq__(self, other): import json diff --git a/tests/fixtures.py b/tests/fixtures.py index b3bf73e88..8cbbc7d84 100644 --- a/tests/fixtures.py +++ b/tests/fixtures.py @@ -41,12 +41,12 @@ class PickleSignalsTest(Document): lists = ListField(StringField()) @classmethod - def post_save(self, sender, document, created, **kwargs): - pickled = pickle.dumps(document) + def post_save(self, sender, document, created): + pickle.dumps(document) @classmethod - def post_delete(self, sender, document, **kwargs): - pickled = pickle.dumps(document) + def post_delete(self, sender, document): + pickle.dumps(document) signals.post_save.connect(PickleSignalsTest.post_save, sender=PickleSignalsTest) signals.post_delete.connect(PickleSignalsTest.post_delete, sender=PickleSignalsTest) diff --git a/tests/queryset/geo.py b/tests/queryset/geo.py index 9aac44f53..09427c0b2 100644 --- a/tests/queryset/geo.py +++ b/tests/queryset/geo.py @@ -5,7 +5,6 @@ import unittest from datetime import datetime, timedelta -from pymongo.errors import OperationFailure from mongoengine import * from mongoengine.connection import get_connection from nose.plugins.skip import SkipTest diff --git a/tests/queryset/transform.py b/tests/queryset/transform.py index a543317a9..82f848bba 100644 --- a/tests/queryset/transform.py +++ b/tests/queryset/transform.py @@ -42,7 +42,7 @@ class Doc(Document): Doc.drop_collection() doc = Doc().save() - dic_doc = DicDoc().save() + DicDoc().save() for k, v in (("set", "$set"), ("set_on_insert", "$setOnInsert"), ("push", "$push")): update = transform.update(DicDoc, **{"%s__dictField__test" % k: doc}) @@ -232,7 +232,7 @@ class Event(Document): box = [(35.0, -125.0), (40.0, -100.0)] # I *meant* to execute location__within_box=box events = Event.objects(location__within=box) - self.assertRaises(InvalidQueryError, lambda: events.count()) + self.assertRaises(InvalidQueryError, events.count) if __name__ == '__main__': unittest.main() diff --git a/tests/test_context_managers.py b/tests/test_context_managers.py index c201a5fc0..624266748 100644 --- a/tests/test_context_managers.py +++ b/tests/test_context_managers.py @@ -195,7 +195,7 @@ def test_query_counter(self): with query_counter() as q: self.assertEqual(0, q) - for i in xrange(1, 51): + for _ in xrange(1, 51): db.test.find({}).count() self.assertEqual(50, q) diff --git a/tests/test_dereference.py b/tests/test_dereference.py index e1ae37408..d009fb181 100644 --- a/tests/test_dereference.py +++ b/tests/test_dereference.py @@ -383,7 +383,7 @@ class Other(EmbeddedDocument): class Person(Document): name = StringField() - other = EmbeddedDocumentField(Other, default=lambda: Other()) + other = EmbeddedDocumentField(Other, default=Other) def __repr__(self): return "" % self.name @@ -629,7 +629,7 @@ class Group(Document): [m for m in group_obj.members] self.assertEqual(q, 2) - for k, m in group_obj.members.iteritems(): + for m in group_obj.members.itervalues(): self.assertTrue(isinstance(m, User)) # Document select_related @@ -802,7 +802,7 @@ class Group(Document): [m for m in group_obj.members] self.assertEqual(q, 2) - for k, m in group_obj.members.iteritems(): + for m in group_obj.members.itervalues(): self.assertTrue(isinstance(m, UserA)) # Document select_related @@ -890,7 +890,7 @@ class Group(Document): [m for m in group_obj.members] self.assertEqual(q, 4) - for k, m in group_obj.members.iteritems(): + for m in group_obj.members.itervalues(): self.assertTrue('User' in m.__class__.__name__) # Document select_related diff --git a/tests/test_signals.py b/tests/test_signals.py index 78305b7d8..a7503559b 100644 --- a/tests/test_signals.py +++ b/tests/test_signals.py @@ -233,7 +233,7 @@ def load_existing_author(): a = self.Author(name='Bill Shakespeare') a.save() self.get_signal_output(lambda: None) # eliminate signal output - a1 = self.Author.objects(name='Bill Shakespeare')[0] + self.Author.objects(name='Bill Shakespeare')[0] self.assertEqual(self.get_signal_output(create_author), [ "pre_init signal, Author",