From 9036423b931d91e610e78543df78f8d11902b586 Mon Sep 17 00:00:00 2001 From: Oliver Sauder Date: Sat, 13 Oct 2018 11:17:08 +0200 Subject: [PATCH] Use flake8-isort to check isort This combines flak8 and isort environment and simplifies flake8 and isort tests for developers. --- .travis.yml | 8 +++----- README.rst | 7 +++---- example/views.py | 2 +- requirements-development.txt | 5 +++-- rest_framework_json_api/django_filters/backends.py | 4 ++-- setup.cfg | 2 +- tox.ini | 13 ++----------- 7 files changed, 15 insertions(+), 26 deletions(-) diff --git a/.travis.yml b/.travis.yml index 8b073020..ae4cb4de 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,6 +4,9 @@ cache: pip # Favor explicit over implicit and use an explicit build matrix. matrix: include: + - python: 3.6 + env: TOXENV=flake8 + - python: 2.7 env: TOXENV=py27-df11-django111-drf36 - python: 2.7 @@ -43,11 +46,6 @@ matrix: env: TOXENV=py36-df20-django20-drf37 - python: 3.6 env: TOXENV=py36-df20-django20-drf38 - - - python: 3.6 - env: TOXENV=flake8 - - python: 3.6 - env: TOXENV=isort install: - pip install tox script: diff --git a/README.rst b/README.rst index 7940e45f..13579a24 100644 --- a/README.rst +++ b/README.rst @@ -126,19 +126,18 @@ Running the example app Browse to http://localhost:8000 -Running Tests -^^^^^^^^^^^^^ +Running Tests and linting +^^^^^^^^^^^^^^^^^^^^^^^^^ It is recommended to create a virtualenv for testing. Assuming it is already installed and activated: :: - $ pip install -e . $ pip install -r requirements-development.txt + $ flake8 $ py.test - ----- Usage ----- diff --git a/example/views.py b/example/views.py index aa0d67e7..f2777136 100644 --- a/example/views.py +++ b/example/views.py @@ -1,12 +1,12 @@ import rest_framework.exceptions as exceptions import rest_framework.parsers import rest_framework.renderers +from django_filters import rest_framework as filters from rest_framework.filters import SearchFilter import rest_framework_json_api.metadata import rest_framework_json_api.parsers import rest_framework_json_api.renderers -from django_filters import rest_framework as filters from rest_framework_json_api.django_filters import DjangoFilterBackend from rest_framework_json_api.filters import OrderingFilter, QueryParameterValidationFilter from rest_framework_json_api.pagination import PageNumberPagination diff --git a/requirements-development.txt b/requirements-development.txt index 2d82ff2e..834dc094 100644 --- a/requirements-development.txt +++ b/requirements-development.txt @@ -1,8 +1,11 @@ -e . django-debug-toolbar +django-filter>=2.0 django-polymorphic>=2.0 factory-boy Faker +flake8 +flake8-isort isort mock pytest @@ -11,6 +14,4 @@ pytest-factoryboy recommonmark Sphinx sphinx_rtd_theme -tox twine -django-filter>=2.0 diff --git a/rest_framework_json_api/django_filters/backends.py b/rest_framework_json_api/django_filters/backends.py index c9268eed..073315bc 100644 --- a/rest_framework_json_api/django_filters/backends.py +++ b/rest_framework_json_api/django_filters/backends.py @@ -1,10 +1,10 @@ import re +from django_filters import VERSION +from django_filters.rest_framework import DjangoFilterBackend from rest_framework.exceptions import ValidationError from rest_framework.settings import api_settings -from django_filters import VERSION -from django_filters.rest_framework import DjangoFilterBackend from rest_framework_json_api.utils import format_value diff --git a/setup.cfg b/setup.cfg index 0e89958c..dd743ab2 100644 --- a/setup.cfg +++ b/setup.cfg @@ -21,7 +21,7 @@ known_localfolder = example known_standard_library = mock line_length = 100 multi_line_output = 3 -skip_glob=*migrations* +skip=migrations,.tox,docs/conf.py [coverage:report] omit= diff --git a/tox.ini b/tox.ini index e8cf36c2..c4812e0b 100644 --- a/tox.ini +++ b/tox.ini @@ -22,18 +22,9 @@ commands = python setup.py test --addopts '--cov --no-cov-on-fail' {posargs} [testenv:flake8] -deps = flake8 -commands = flake8 -skip_install = true - -[testenv:isort] deps = - isort -commands = - isort --check-only --verbose --recursive --diff rest_framework_json_api - # example has extra dependencies that are installed in a dev environment - # but are not installed in CI. Explicitly set those packages. - isort --check-only --verbose --recursive --diff --thirdparty pytest --thirdparty polymorphic --thirdparty pytest_factoryboy --thirdparty packaging example + -rrequirements-development.txt +commands = flake8 [testenv:sphinx] deps =