fix flake8 warnings

This commit is contained in:
Bastien Gerard 2020-12-08 23:52:47 +01:00
parent eabb8f60f5
commit 8a1a68ea7c
26 changed files with 110 additions and 135 deletions

View File

@ -1,17 +1,17 @@
fail_fast: false
repos:
- repo: https://github.com/ambv/black
rev: 20.8b1
hooks:
- id: black
- repo: https://gitlab.com/pycqa/flake8
rev: 3.8.0a2
hooks:
- id: flake8
additional_dependencies:
- flake8-import-order
- repo: https://github.com/asottile/pyupgrade
rev: v2.7.4
hooks:
- id: pyupgrade
args: [--py36-plus]
- repo: https://github.com/ambv/black
rev: 20.8b1
hooks:
- id: black
- repo: https://gitlab.com/pycqa/flake8
rev: 3.8.0a2
hooks:
- id: flake8
additional_dependencies:
- flake8-import-order
- repo: https://github.com/asottile/pyupgrade
rev: v2.7.4
hooks:
- id: pyupgrade
args: [--py36-plus]

View File

@ -45,7 +45,7 @@ def test_basic():
print(
"Doc setattr: %.3fus"
% (timeit(lambda: setattr(b, "name", "New name"), 10000) * 10 ** 6)
% (timeit(lambda: setattr(b, "name", "New name"), 10000) * 10 ** 6) # noqa B010
)
print("Doc to mongo: %.3fus" % (timeit(b.to_mongo, 1000) * 10 ** 6))

View File

@ -42,7 +42,7 @@ master_doc = "index"
# General information about the project.
project = "MongoEngine"
copyright = "2009, MongoEngine Authors"
copyright = "2009, MongoEngine Authors" # noqa: A001
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the

View File

@ -10,12 +10,12 @@ from mongoengine import signals
# mongoengine, e.g. instead of `from mongoengine.connection import connect`,
# users can simply use `from mongoengine import connect`, or even
# `from mongoengine import *` and then `connect('testdb')`.
from mongoengine.connection import *
from mongoengine.document import *
from mongoengine.errors import *
from mongoengine.fields import *
from mongoengine.queryset import *
from mongoengine.signals import *
from mongoengine.connection import * # noqa: F401
from mongoengine.document import * # noqa: F401
from mongoengine.errors import * # noqa: F401
from mongoengine.fields import * # noqa: F401
from mongoengine.queryset import * # noqa: F401
from mongoengine.signals import * # noqa: F401
__all__ = (

View File

@ -180,9 +180,7 @@ class BaseList(list):
def _mark_as_changed(self, key=None):
if hasattr(self._instance, "_mark_as_changed"):
if key is not None:
self._instance._mark_as_changed(
"{}.{}".format(self._name, key % len(self))
)
self._instance._mark_as_changed(f"{self._name}.{key % len(self)}")
else:
self._instance._mark_as_changed(self._name)

View File

@ -89,9 +89,7 @@ class BaseDocument:
list(self._fields.keys()) + ["id", "pk", "_cls", "_text_score"]
)
if _undefined_fields:
msg = ('The fields "{}" do not exist on the document "{}"').format(
_undefined_fields, self._class_name
)
msg = f'The fields "{_undefined_fields}" do not exist on the document "{self._class_name}"'
raise FieldDoesNotExist(msg)
if self.STRICT and not self._dynamic:
@ -231,10 +229,10 @@ class BaseDocument:
setattr(self, k, data[k])
if "_fields_ordered" in data:
if self._dynamic:
setattr(self, "_fields_ordered", data["_fields_ordered"])
self._fields_ordered = data["_fields_ordered"]
else:
_super_fields_ordered = type(self)._fields_ordered
setattr(self, "_fields_ordered", _super_fields_ordered)
self._fields_ordered = _super_fields_ordered
dynamic_fields = data.get("_dynamic_fields") or SON()
for k in dynamic_fields.keys():
@ -576,7 +574,7 @@ class BaseDocument:
else:
iterator = data.items()
for index_or_key, value in iterator:
for _index_or_key, value in iterator:
if hasattr(value, "_get_changed_fields") and not isinstance(
value, Document
): # don't follow references
@ -999,9 +997,7 @@ class BaseDocument:
"PolygonField",
)
geo_field_types = tuple(
[_import_class(field) for field in geo_field_type_names]
)
geo_field_types = tuple(_import_class(field) for field in geo_field_type_names)
for field in cls._fields.values():
if not isinstance(field, geo_field_types):

View File

@ -337,7 +337,7 @@ class TopLevelDocumentMetaclass(DocumentMetaclass):
# allow_inheritance to False. If the base Document allows inheritance,
# none of its subclasses can override allow_inheritance to False.
simple_class = all(
[b._meta.get("abstract") for b in flattened_bases if hasattr(b, "_meta")]
b._meta.get("abstract") for b in flattened_bases if hasattr(b, "_meta")
)
if (
not simple_class

View File

@ -51,10 +51,10 @@ class DeReference:
doc_type = doc_type.document_type
is_list = not hasattr(items, "items")
if is_list and all([i.__class__ == doc_type for i in items]):
if is_list and all(i.__class__ == doc_type for i in items):
return items
elif not is_list and all(
[i.__class__ == doc_type for i in items.values()]
i.__class__ == doc_type for i in items.values()
):
return items
elif not field.dbref:

View File

@ -1743,7 +1743,7 @@ class GridFSProxy:
def __str__(self):
gridout = self.get()
filename = getattr(gridout, "filename") if gridout else "<no file>"
filename = gridout.filename if gridout else "<no file>"
return f"<{self.__class__.__name__}: {filename} ({self.grid_id})>"
def __eq__(self, other):

View File

@ -1,5 +1,5 @@
[flake8]
ignore=E501,F401,F403,F405,I201,I202,W504, W605, W503
ignore=E501,F403,F405,I201,I202,W504,W605,W503,B007
exclude=build,dist,docs,venv,venv3,.tox,.eggs,tests
max-complexity=47
application-import-names=mongoengine,tests

View File

@ -7,7 +7,7 @@ from setuptools.command.test import test as TestCommand
# Hack to silence atexit traceback in newer python versions
try:
import multiprocessing
import multiprocessing # noqa: F401
except ImportError:
pass

View File

@ -29,7 +29,7 @@ class TestClassMethods(unittest.TestCase):
"""Ensure that document may be defined using fields."""
assert ["_cls", "age", "id", "name"] == sorted(self.Person._fields.keys())
assert ["IntField", "ObjectIdField", "StringField", "StringField"] == sorted(
[x.__class__.__name__ for x in self.Person._fields.values()]
x.__class__.__name__ for x in self.Person._fields.values()
)
def test_get_db(self):

View File

@ -280,7 +280,7 @@ class TestInheritance(MongoDBTestCase):
C.ensure_indexes()
assert sorted(
[idx["key"] for idx in C._get_collection().index_information().values()]
idx["key"] for idx in C._get_collection().index_information().values()
) == sorted([[("_cls", 1), ("b", 1)], [("_id", 1)], [("_cls", 1), ("a", 1)]])
def test_polymorphic_queries(self):
@ -467,7 +467,7 @@ class TestInheritance(MongoDBTestCase):
assert city.pk is None
# TODO: expected error? Shouldn't we create a new error type?
with pytest.raises(KeyError):
setattr(city, "pk", 1)
city.pk = 1
def test_allow_inheritance_embedded_document(self):
"""Ensure embedded documents respect inheritance."""
@ -499,13 +499,8 @@ class TestInheritance(MongoDBTestCase):
class DateUpdatedDocument(Document):
meta = {"allow_inheritance": True, "abstract": True}
try:
class MyDocument(DateCreatedDocument, DateUpdatedDocument):
pass
except Exception:
assert False, "Couldn't create MyDocument class"
class MyDocument(DateCreatedDocument, DateUpdatedDocument):
pass
def test_abstract_documents(self):
"""Ensure that a document superclass can be marked as abstract

View File

@ -210,10 +210,7 @@ class TestValidatorError(MongoDBTestCase):
child.reference = parent
# Saving the child should not raise a ValidationError
try:
child.save()
except ValidationError as e:
self.fail("ValidationError raised: %s" % e.message)
child.save()
if __name__ == "__main__":

View File

@ -60,7 +60,7 @@ class ComplexDateTimeFieldTest(MongoDBTestCase):
assert log == log1
# Test string padding
microsecond = map(int, [math.pow(10, x) for x in range(6)])
microsecond = map(int, (math.pow(10, x) for x in range(6)))
mm = dd = hh = ii = ss = [1, 10]
for values in itertools.product([2014], mm, dd, hh, ii, ss, microsecond):

View File

@ -1,8 +1,6 @@
import sys
import pytest
from mongoengine import *
from mongoengine import Document, EmailField, ValidationError
from tests.utils import MongoDBTestCase

View File

@ -1357,9 +1357,9 @@ class TestField(MongoDBTestCase):
foo.delete()
bar = Bar.objects.get()
with pytest.raises(DoesNotExist):
getattr(bar, "ref")
bar.ref
with pytest.raises(DoesNotExist):
getattr(bar, "generic_ref")
bar.generic_ref
# When auto_dereference is disabled, there is no trouble returning DBRef
bar = Bar.objects.get()

View File

@ -11,7 +11,7 @@ from mongoengine import *
from mongoengine.connection import get_db
try:
from PIL import Image
from PIL import Image # noqa: F401
HAS_PIL = True
except ImportError:

View File

@ -166,8 +166,8 @@ class TestSequenceField(MongoDBTestCase):
ids = [i.id for i in Person.objects]
assert ids == list(range(1, 11))
id = [i.id for i in Animal.objects]
assert id == list(range(1, 11))
_id = [i.id for i in Animal.objects]
assert _id == list(range(1, 11))
c = self.db["mongoengine.counters"].find_one({"_id": "person.id"})
assert c["next"] == 10

View File

@ -1,8 +1,6 @@
import pickle
import unittest
from mongoengine import Document, IntField, StringField
from mongoengine.connection import connect
from tests.utils import MongoDBTestCase
@ -22,14 +20,11 @@ class TestQuerysetPickable(MongoDBTestCase):
self.john = Person.objects.create(name="John", age=21)
def test_picke_simple_qs(self):
qs = Person.objects.all()
pickle.dumps(qs)
def _get_loaded(self, qs):
s = pickle.dumps(qs)
return pickle.loads(s)
def test_unpickle(self):

View File

@ -5,7 +5,6 @@ from decimal import Decimal
from bson import DBRef, ObjectId
import pymongo
from pymongo.read_concern import ReadConcern
from pymongo.read_preferences import ReadPreference
from pymongo.results import UpdateResult
import pytest
@ -449,7 +448,7 @@ class TestQueryset(unittest.TestCase):
# test iterating over the result set
cnt = 0
for a in A.objects.batch_size(10):
for _ in A.objects.batch_size(10):
cnt += 1
assert cnt == 100
@ -457,7 +456,7 @@ class TestQueryset(unittest.TestCase):
qs = A.objects.all()
qs = qs.limit(10).batch_size(20).skip(91)
cnt = 0
for a in qs:
for _ in qs:
cnt += 1
assert cnt == 9
@ -1146,7 +1145,7 @@ class TestQueryset(unittest.TestCase):
people2 = [person for person in queryset]
# Check that it still works even if iteration is interrupted.
for person in queryset:
for _person in queryset:
break
people3 = [person for person in queryset]
@ -1182,7 +1181,7 @@ class TestQueryset(unittest.TestCase):
assert "[<Doc: 1>, <Doc: 2>, <Doc: 3>]" == "%s" % docs
assert docs.count(with_limit_and_skip=True) == 3
for doc in docs:
for _ in docs:
assert ".. queryset mid-iteration .." == repr(docs)
def test_regex_query_shortcuts(self):
@ -3171,10 +3170,10 @@ class TestQueryset(unittest.TestCase):
Test.drop_collection()
for i in range(50):
for _ in range(50):
Test(val=1).save()
for i in range(20):
for _ in range(20):
Test(val=2).save()
freqs = Test.objects.item_frequencies("val", map_reduce=False, normalize=True)
@ -3207,7 +3206,7 @@ class TestQueryset(unittest.TestCase):
for i, weight in enumerate(ages):
self.Person(
name="test meta%i", person_meta=self.PersonMeta(weight=weight)
name=f"test meta{i}", person_meta=self.PersonMeta(weight=weight)
).save()
assert (
@ -3246,7 +3245,7 @@ class TestQueryset(unittest.TestCase):
# test summing over a filtered queryset
assert self.Person.objects.filter(age__gte=50).sum("age") == sum(
[a for a in ages if a >= 50]
a for a in ages if a >= 50
)
def test_sum_over_db_field(self):

View File

@ -1,5 +1,3 @@
import unittest
import pytest
from mongoengine import Document

View File

@ -180,11 +180,11 @@ class TestContextManagers:
with no_dereference(Group) as Group:
group = Group.objects.first()
assert all([not isinstance(m, User) for m in group.members])
assert all(not isinstance(m, User) for m in group.members)
assert not isinstance(group.ref, User)
assert not isinstance(group.generic, User)
assert all([isinstance(m, User) for m in group.members])
assert all(isinstance(m, User) for m in group.members)
assert isinstance(group.ref, User)
assert isinstance(group.generic, User)

View File

@ -421,7 +421,7 @@ class TestStrictDict(unittest.TestCase):
d.a = 1
assert d.a == 1
with pytest.raises(AttributeError):
getattr(d, "b")
d.b
def test_setattr_raises_on_nonexisting_attr(self):
d = self.dtype()

View File

@ -49,7 +49,7 @@ class FieldTest(unittest.TestCase):
len(group_obj.members)
assert q == 2
[m for m in group_obj.members]
_ = [m for m in group_obj.members]
assert q == 2
# Document select_related
@ -58,7 +58,7 @@ class FieldTest(unittest.TestCase):
group_obj = Group.objects.first().select_related()
assert q == 2
[m for m in group_obj.members]
_ = [m for m in group_obj.members]
assert q == 2
# Queryset select_related
@ -67,7 +67,7 @@ class FieldTest(unittest.TestCase):
group_objs = Group.objects.select_related()
assert q == 2
for group_obj in group_objs:
[m for m in group_obj.members]
_ = [m for m in group_obj.members]
assert q == 2
User.drop_collection()
@ -99,14 +99,14 @@ class FieldTest(unittest.TestCase):
group_obj = Group.objects.first()
assert q == 1
[m for m in group_obj.members]
_ = [m for m in group_obj.members]
assert q == 2
assert group_obj._data["members"]._dereferenced
# verifies that no additional queries gets executed
# if we re-iterate over the ListField once it is
# dereferenced
[m for m in group_obj.members]
_ = [m for m in group_obj.members]
assert q == 2
assert group_obj._data["members"]._dereferenced
@ -117,7 +117,7 @@ class FieldTest(unittest.TestCase):
group_obj = Group.objects.first().select_related()
assert q == 2
[m for m in group_obj.members]
_ = [m for m in group_obj.members]
assert q == 2
# Queryset select_related
@ -126,7 +126,7 @@ class FieldTest(unittest.TestCase):
group_objs = Group.objects.select_related()
assert q == 2
for group_obj in group_objs:
[m for m in group_obj.members]
_ = [m for m in group_obj.members]
assert q == 2
def test_list_item_dereference_orphan_dbref(self):
@ -158,14 +158,14 @@ class FieldTest(unittest.TestCase):
group_obj = Group.objects.first()
assert q == 1
[m for m in group_obj.members]
_ = [m for m in group_obj.members]
assert q == 2
assert group_obj._data["members"]._dereferenced
# verifies that no additional queries gets executed
# if we re-iterate over the ListField once it is
# dereferenced
[m for m in group_obj.members]
_ = [m for m in group_obj.members]
assert q == 2
assert group_obj._data["members"]._dereferenced
@ -505,10 +505,10 @@ class FieldTest(unittest.TestCase):
group_obj = Group.objects.first()
assert q == 1
[m for m in group_obj.members]
_ = [m for m in group_obj.members]
assert q == 4
[m for m in group_obj.members]
_ = [m for m in group_obj.members]
assert q == 4
for m in group_obj.members:
@ -521,10 +521,10 @@ class FieldTest(unittest.TestCase):
group_obj = Group.objects.first().select_related()
assert q == 4
[m for m in group_obj.members]
_ = [m for m in group_obj.members]
assert q == 4
[m for m in group_obj.members]
_ = [m for m in group_obj.members]
assert q == 4
for m in group_obj.members:
@ -538,10 +538,10 @@ class FieldTest(unittest.TestCase):
assert q == 4
for group_obj in group_objs:
[m for m in group_obj.members]
_ = [m for m in group_obj.members]
assert q == 4
[m for m in group_obj.members]
_ = [m for m in group_obj.members]
assert q == 4
for m in group_obj.members:
@ -592,11 +592,11 @@ class FieldTest(unittest.TestCase):
group_obj = Group.objects.first()
assert q == 1
[m for m in group_obj.members]
_ = [m for m in group_obj.members]
assert q == 4
assert group_obj._data["members"]._dereferenced
[m for m in group_obj.members]
_ = [m for m in group_obj.members]
assert q == 4
assert group_obj._data["members"]._dereferenced
@ -648,10 +648,10 @@ class FieldTest(unittest.TestCase):
group_obj = Group.objects.first()
assert q == 1
[m for m in group_obj.members]
_ = [m for m in group_obj.members]
assert q == 4
[m for m in group_obj.members]
_ = [m for m in group_obj.members]
assert q == 4
for m in group_obj.members:
@ -664,10 +664,10 @@ class FieldTest(unittest.TestCase):
group_obj = Group.objects.first().select_related()
assert q == 4
[m for m in group_obj.members]
_ = [m for m in group_obj.members]
assert q == 4
[m for m in group_obj.members]
_ = [m for m in group_obj.members]
assert q == 4
for m in group_obj.members:
@ -681,10 +681,10 @@ class FieldTest(unittest.TestCase):
assert q == 4
for group_obj in group_objs:
[m for m in group_obj.members]
_ = [m for m in group_obj.members]
assert q == 4
[m for m in group_obj.members]
_ = [m for m in group_obj.members]
assert q == 4
for m in group_obj.members:
@ -723,10 +723,10 @@ class FieldTest(unittest.TestCase):
group_obj = Group.objects.first()
assert q == 1
[m for m in group_obj.members]
_ = [m for m in group_obj.members]
assert q == 2
for k, m in group_obj.members.items():
for _, m in group_obj.members.items():
assert isinstance(m, User)
# Document select_related
@ -736,7 +736,7 @@ class FieldTest(unittest.TestCase):
group_obj = Group.objects.first().select_related()
assert q == 2
[m for m in group_obj.members]
_ = [m for m in group_obj.members]
assert q == 2
for k, m in group_obj.members.items():
@ -750,7 +750,7 @@ class FieldTest(unittest.TestCase):
assert q == 2
for group_obj in group_objs:
[m for m in group_obj.members]
_ = [m for m in group_obj.members]
assert q == 2
for k, m in group_obj.members.items():
@ -801,10 +801,10 @@ class FieldTest(unittest.TestCase):
group_obj = Group.objects.first()
assert q == 1
[m for m in group_obj.members]
_ = [m for m in group_obj.members]
assert q == 4
[m for m in group_obj.members]
_ = [m for m in group_obj.members]
assert q == 4
for k, m in group_obj.members.items():
@ -817,10 +817,10 @@ class FieldTest(unittest.TestCase):
group_obj = Group.objects.first().select_related()
assert q == 4
[m for m in group_obj.members]
_ = [m for m in group_obj.members]
assert q == 4
[m for m in group_obj.members]
_ = [m for m in group_obj.members]
assert q == 4
for k, m in group_obj.members.items():
@ -834,10 +834,10 @@ class FieldTest(unittest.TestCase):
assert q == 4
for group_obj in group_objs:
[m for m in group_obj.members]
_ = [m for m in group_obj.members]
assert q == 4
[m for m in group_obj.members]
_ = [m for m in group_obj.members]
assert q == 4
for k, m in group_obj.members.items():
@ -852,7 +852,7 @@ class FieldTest(unittest.TestCase):
group_obj = Group.objects.first()
assert q == 1
[m for m in group_obj.members]
_ = [m for m in group_obj.members]
assert q == 1
assert group_obj.members == {}
@ -891,10 +891,10 @@ class FieldTest(unittest.TestCase):
group_obj = Group.objects.first()
assert q == 1
[m for m in group_obj.members]
_ = [m for m in group_obj.members]
assert q == 2
[m for m in group_obj.members]
_ = [m for m in group_obj.members]
assert q == 2
for k, m in group_obj.members.items():
@ -907,10 +907,10 @@ class FieldTest(unittest.TestCase):
group_obj = Group.objects.first().select_related()
assert q == 2
[m for m in group_obj.members]
_ = [m for m in group_obj.members]
assert q == 2
[m for m in group_obj.members]
_ = [m for m in group_obj.members]
assert q == 2
for k, m in group_obj.members.items():
@ -924,13 +924,13 @@ class FieldTest(unittest.TestCase):
assert q == 2
for group_obj in group_objs:
[m for m in group_obj.members]
_ = [m for m in group_obj.members]
assert q == 2
[m for m in group_obj.members]
_ = [m for m in group_obj.members]
assert q == 2
for k, m in group_obj.members.items():
for _, m in group_obj.members.items():
assert isinstance(m, UserA)
UserA.drop_collection()
@ -978,13 +978,13 @@ class FieldTest(unittest.TestCase):
group_obj = Group.objects.first()
assert q == 1
[m for m in group_obj.members]
_ = [m for m in group_obj.members]
assert q == 4
[m for m in group_obj.members]
_ = [m for m in group_obj.members]
assert q == 4
for k, m in group_obj.members.items():
for _, m in group_obj.members.items():
assert "User" in m.__class__.__name__
# Document select_related
@ -994,13 +994,13 @@ class FieldTest(unittest.TestCase):
group_obj = Group.objects.first().select_related()
assert q == 4
[m for m in group_obj.members]
_ = [m for m in group_obj.members]
assert q == 4
[m for m in group_obj.members]
_ = [m for m in group_obj.members]
assert q == 4
for k, m in group_obj.members.items():
for _, m in group_obj.members.items():
assert "User" in m.__class__.__name__
# Queryset select_related
@ -1011,13 +1011,13 @@ class FieldTest(unittest.TestCase):
assert q == 4
for group_obj in group_objs:
[m for m in group_obj.members]
_ = [m for m in group_obj.members]
assert q == 4
[m for m in group_obj.members]
_ = [m for m in group_obj.members]
assert q == 4
for k, m in group_obj.members.items():
for _, m in group_obj.members.items():
assert "User" in m.__class__.__name__
Group.objects.delete()
@ -1029,7 +1029,7 @@ class FieldTest(unittest.TestCase):
group_obj = Group.objects.first()
assert q == 1
[m for m in group_obj.members]
_ = [m for m in group_obj.members]
assert q == 1
UserA.drop_collection()

View File

@ -1,5 +1,4 @@
import re
import unittest
import pytest