Use ruff in pre-commit

This commit is contained in:
Kien Dang 2023-08-05 13:42:00 +08:00
parent 5eb5fe294a
commit add11cb9a6
18 changed files with 58 additions and 51 deletions

View File

@ -15,16 +15,12 @@ repos:
- --autofix
- id: trailing-whitespace
exclude: README.md
- repo: https://github.com/asottile/pyupgrade
rev: v3.3.2
hooks:
- id: pyupgrade
args: [--py38-plus]
- repo: https://github.com/psf/black
rev: 23.3.0
hooks:
- id: black
- repo: https://github.com/PyCQA/flake8
rev: 6.0.0
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.0.282
hooks:
- id: flake8
- id: ruff
args: [--fix, --exit-non-zero-on-fix]

20
.ruff.toml Normal file
View File

@ -0,0 +1,20 @@
select = [
"E", # pycodestyle
"W", # pycodestyle
"F", # pyflake
]
ignore = [
"E501", # line-too-long
]
exclude = [
"**/docs",
]
target-version = "py38"
[per-file-ignores]
# Ignore unused imports (F401) in these files
"__init__.py" = ["F401"]
"graphene_django/compat.py" = ["F401"]

View File

@ -6,7 +6,9 @@ from cookbook.ingredients.models import Ingredient
class Recipe(models.Model):
title = models.CharField(max_length=100)
instructions = models.TextField()
__unicode__ = lambda self: self.title
def __unicode__(self):
return self.title
class RecipeIngredient(models.Model):

View File

@ -1,6 +1,5 @@
from django.db import connections
from promise import Promise
from .sql.tracking import unwrap_cursor, wrap_cursor
from .exception.formating import wrap_exception

View File

@ -3,13 +3,12 @@ import pytest
from django.db import models
from django.db.models.query import QuerySet
from django_filters import filters
from django_filters import FilterSet
import graphene
from graphene.relay import Node
from graphene_django import DjangoObjectType
from graphene_django.utils import DJANGO_FILTER_INSTALLED
from graphene_django.filter import ArrayFilter, ListFilter
from graphene_django.filter import ArrayFilter
from ...compat import ArrayField

View File

@ -222,7 +222,7 @@ def test_filter_filterset_information_on_meta_related():
reporter = Field(ReporterFilterNode)
article = Field(ArticleFilterNode)
schema = Schema(query=Query)
Schema(query=Query)
articles_field = ReporterFilterNode._meta.fields["articles"].get_type()
assert_arguments(articles_field, "headline", "reporter")
assert_not_orderable(articles_field)
@ -294,7 +294,7 @@ def test_filter_filterset_class_information_on_meta_related():
reporter = Field(ReporterFilterNode)
article = Field(ArticleFilterNode)
schema = Schema(query=Query)
Schema(query=Query)
articles_field = ReporterFilterNode._meta.fields["articles"].get_type()
assert_arguments(articles_field, "headline", "reporter")
assert_not_orderable(articles_field)
@ -1186,7 +1186,7 @@ def test_filter_filterset_based_on_mixin():
first_name="Adam", last_name="Doe", email="adam@doe.com"
)
article_2 = Article.objects.create(
Article.objects.create(
headline="Good Bye",
reporter=reporter_2,
editor=reporter_2,

View File

@ -1,8 +1,6 @@
import json
import pytest
from django_filters import FilterSet
from django_filters import rest_framework as filters
from graphene import ObjectType, Schema
from graphene.relay import Node
from graphene_django import DjangoObjectType

View File

@ -1,8 +1,7 @@
import graphene
from django import forms
from django_filters.utils import get_model_field, get_field_parts
from django_filters.filters import Filter, BaseCSVFilter
from .filters import ArrayFilter, ListFilter, RangeFilter, TypedFilter
from django_filters.utils import get_model_field
from .filters import ListFilter, RangeFilter, TypedFilter
from .filterset import custom_filterset_factory, setup_filterset
from ..forms import GlobalIDFormField, GlobalIDMultipleChoiceField
@ -50,7 +49,7 @@ def get_filtering_args_from_filterset(filterset_class, type):
):
# Get the filter field for filters that are no explicitly declared.
if filter_type == "isnull":
field = graphene.Boolean(required=required)
graphene.Boolean(required=required)
else:
model_field = get_model_field(model, filter_field.field_name)

View File

@ -1,7 +1,6 @@
from django import forms
from pytest import raises
import graphene
from graphene import (
String,
Int,

View File

@ -1,4 +1,3 @@
import pytest
from django import forms
from django.core.exceptions import ValidationError
from pytest import raises

View File

@ -2,7 +2,6 @@ import copy
import graphene
from django.db import models
from graphene import InputObjectType
from pytest import raises
from rest_framework import serializers

View File

@ -250,7 +250,7 @@ def test_model_invalid_update_mutate_and_get_payload_success():
model_operations = ["update"]
with raises(Exception) as exc:
result = InvalidModelMutation.mutate_and_get_payload(
InvalidModelMutation.mutate_and_get_payload(
None, mock_info(), **{"cool_name": "Narf"}
)

View File

@ -1,18 +1,12 @@
# https://github.com/graphql-python/graphene-django/issues/520
import datetime
from django import forms
import graphene
from graphene import Field, ResolveInfo
from graphene.types.inputobjecttype import InputObjectType
from pytest import raises
from pytest import mark
from rest_framework import serializers
from ...types import DjangoObjectType
from ...rest_framework.models import MyFakeModel
from ...rest_framework.mutation import SerializerMutation
from ...forms.mutation import DjangoFormMutation

View File

@ -22,7 +22,7 @@ class TestDjangoListField:
foo = String()
with pytest.raises(AssertionError):
list_field = DjangoListField(TestType)
DjangoListField(TestType)
def test_only_import_paths(self):
list_field = DjangoListField("graphene_django.tests.schema.Human")

View File

@ -5,7 +5,6 @@ from graphene.relay import Node
from graphql_relay import to_global_id
from ..fields import DjangoConnectionField
from ..types import DjangoObjectType
from .models import Article, Reporter, FilmDetails, Film

View File

@ -517,7 +517,7 @@ def test_should_query_node_filtering_with_distinct_queryset():
).distinct()
f = Film.objects.create()
fd = FilmDetails.objects.create(location="Berlin", film=f)
FilmDetails.objects.create(location="Berlin", film=f)
schema = graphene.Schema(query=Query)
query = """
@ -640,7 +640,7 @@ def test_should_enforce_first_or_last(graphene_settings):
class Query(graphene.ObjectType):
all_reporters = DjangoConnectionField(ReporterType)
r = Reporter.objects.create(
Reporter.objects.create(
first_name="John", last_name="Doe", email="johndoe@example.com", a_choice=1
)
@ -682,7 +682,7 @@ def test_should_error_if_first_is_greater_than_max(graphene_settings):
assert Query.all_reporters.max_limit == 100
r = Reporter.objects.create(
Reporter.objects.create(
first_name="John", last_name="Doe", email="johndoe@example.com", a_choice=1
)
@ -724,7 +724,7 @@ def test_should_error_if_last_is_greater_than_max(graphene_settings):
assert Query.all_reporters.max_limit == 100
r = Reporter.objects.create(
Reporter.objects.create(
first_name="John", last_name="Doe", email="johndoe@example.com", a_choice=1
)
@ -788,7 +788,7 @@ def test_should_query_promise_connectionfields():
def test_should_query_connectionfields_with_last():
r = Reporter.objects.create(
Reporter.objects.create(
first_name="John", last_name="Doe", email="johndoe@example.com", a_choice=1
)
@ -825,11 +825,11 @@ def test_should_query_connectionfields_with_last():
def test_should_query_connectionfields_with_manager():
r = Reporter.objects.create(
Reporter.objects.create(
first_name="John", last_name="Doe", email="johndoe@example.com", a_choice=1
)
r = Reporter.objects.create(
Reporter.objects.create(
first_name="John", last_name="NotDoe", email="johndoe@example.com", a_choice=1
)
@ -1369,10 +1369,10 @@ def test_model_inheritance_support_local_relationships():
def test_should_resolve_get_queryset_connectionfields():
reporter_1 = Reporter.objects.create(
Reporter.objects.create(
first_name="John", last_name="Doe", email="johndoe@example.com", a_choice=1
)
reporter_2 = CNNReporter.objects.create(
CNNReporter.objects.create(
first_name="Some",
last_name="Guy",
email="someguy@cnn.com",
@ -1414,10 +1414,10 @@ def test_should_resolve_get_queryset_connectionfields():
def test_connection_should_limit_after_to_list_length():
reporter_1 = Reporter.objects.create(
Reporter.objects.create(
first_name="John", last_name="Doe", email="johndoe@example.com", a_choice=1
)
reporter_2 = Reporter.objects.create(
Reporter.objects.create(
first_name="Some", last_name="Guy", email="someguy@cnn.com", a_choice=1
)
@ -1710,7 +1710,7 @@ def test_should_preserve_prefetch_related(django_assert_num_queries):
"""
schema = graphene.Schema(query=Query)
with django_assert_num_queries(3) as captured:
with django_assert_num_queries(3):
result = schema.execute(query)
assert not result.errors
@ -2022,7 +2022,7 @@ def test_should_query_nullable_foreign_key():
schema = graphene.Schema(query=Query)
person = Person.objects.create(name="Jane")
pets = [
[
Pet.objects.create(name="Stray dog", age=1),
Pet.objects.create(name="Jane's dog", owner=person, age=1),
]

View File

@ -6,7 +6,6 @@ from unittest.mock import patch
from django.db import connection
from graphene_django.settings import graphene_settings
from .models import Pet
@ -31,8 +30,12 @@ def response_json(response):
return json.loads(response.content.decode())
j = lambda **kwargs: json.dumps(kwargs)
jl = lambda **kwargs: json.dumps([kwargs])
def j(**kwargs):
return json.dumps(kwargs)
def jl(**kwargs):
return json.dumps([kwargs])
def test_graphiql_is_enabled(client):

View File

@ -1,9 +1,10 @@
import warnings
from collections import OrderedDict
from typing import Type
from typing import Type # noqa: F401
from django.db.models import Model # noqa: F401
import graphene
from django.db.models import Model
from graphene.relay import Connection, Node
from graphene.types.objecttype import ObjectType, ObjectTypeOptions
from graphene.types.utils import yank_fields_from_attrs