Add isort support.

This commit is contained in:
Rémy HUBSCHER 2020-01-07 15:18:54 +01:00
parent b094ed6cec
commit 6c7c8d9a60
No known key found for this signature in database
GPG key ID: 82B47F36036A312A
53 changed files with 69 additions and 115 deletions

View file

@ -8,7 +8,7 @@
PIP = pip
TOX = tox
BLACK = black
ISORT = isort
#: help - Display callable targets.
.PHONY: help
@ -101,3 +101,7 @@ release:
.PHONY: black
black:
$(BLACK) demo tests django_downloadview
.PHONY: isort
isort:
$(ISORT) -m 3 --line-width=99 --use-parentheses --trailing-comma --recursive django_downloadview tests demo

View file

@ -1,12 +1,12 @@
import os
from django.core.files.base import ContentFile
import django.test
from django.core.files.base import ContentFile
from django_downloadview.apache import assert_x_sendfile
from demoproject.compat import reverse
from demoproject.apache.views import storage, storage_dir
from demoproject.compat import reverse
def setup_file():

View file

@ -1,9 +1,8 @@
"""URL mapping."""
from django.conf.urls import url
from demoproject.compat import patterns
from demoproject.apache import views
from demoproject.compat import patterns
urlpatterns = patterns(
"demoproject.apache.views",

View file

@ -6,7 +6,6 @@ from django.core.files.storage import FileSystemStorage
from django_downloadview import StorageDownloadView
from django_downloadview.apache import x_sendfile
storage_dir = os.path.join(settings.MEDIA_ROOT, "apache")
storage = FileSystemStorage(
location=storage_dir, base_url="".join([settings.MEDIA_URL, "apache/"])

View file

@ -1,6 +1,6 @@
from distutils.version import StrictVersion
from django.utils.version import get_version
from django.utils.version import get_version
try:
from django.conf.urls import patterns # noqa

View file

@ -1,8 +1,7 @@
import django.test
from django_downloadview import assert_download_response
from demoproject.compat import reverse
from django_downloadview import assert_download_response
class SimpleURLTestCase(django.test.TestCase):

View file

@ -3,7 +3,6 @@ from django.conf.urls import url
from demoproject.compat import patterns
from demoproject.http import views
urlpatterns = patterns(
"",
url(r"^simple_url/$", views.simple_url, name="simple_url"),

View file

@ -1,7 +1,7 @@
import os
from django.core.files.base import ContentFile
import django.test
from django.core.files.base import ContentFile
from django_downloadview.lighttpd import assert_x_sendfile

View file

@ -4,7 +4,6 @@ from django.conf.urls import url
from demoproject.compat import patterns
from demoproject.lighttpd import views
urlpatterns = patterns(
"demoproject.lighttpd.views",
url(

View file

@ -6,7 +6,6 @@ from django.core.files.storage import FileSystemStorage
from django_downloadview import StorageDownloadView
from django_downloadview.lighttpd import x_sendfile
storage_dir = os.path.join(settings.MEDIA_ROOT, "lighttpd")
storage = FileSystemStorage(
location=storage_dir, base_url="".join([settings.MEDIA_URL, "lighttpd/"])

View file

@ -1,7 +1,7 @@
import os
from django.core.files.base import ContentFile
import django.test
from django.core.files.base import ContentFile
from django_downloadview.nginx import assert_x_accel_redirect

View file

@ -5,7 +5,6 @@ from django.conf.urls import url
from demoproject.compat import patterns
from demoproject.nginx import views
urlpatterns = patterns(
"demoproject.nginx.views",
url(

View file

@ -6,7 +6,6 @@ from django.core.files.storage import FileSystemStorage
from django_downloadview import StorageDownloadView
from django_downloadview.nginx import x_accel_redirect
storage_dir = os.path.join(settings.MEDIA_ROOT, "nginx")
storage = FileSystemStorage(
location=storage_dir, base_url="".join([settings.MEDIA_URL, "nginx/"])

View file

@ -1,11 +1,9 @@
from django.core.files.base import ContentFile
import django.test
from django_downloadview import temporary_media_root, assert_download_response
from django.core.files.base import ContentFile
from demoproject.compat import reverse
from demoproject.object.models import Document
from django_downloadview import assert_download_response, temporary_media_root
# Fixtures.
slug = "hello-world"

View file

@ -3,7 +3,6 @@ from django.conf.urls import url
from demoproject.compat import patterns
from demoproject.object import views
urlpatterns = patterns(
"",
url(

View file

@ -1,7 +1,5 @@
from django_downloadview import ObjectDownloadView
from demoproject.object.models import Document
from django_downloadview import ObjectDownloadView
#: Serve ``file`` attribute of ``Document`` model.
default_file_view = ObjectDownloadView.as_view(model=Document)

View file

@ -1,8 +1,7 @@
import django.test
from django_downloadview import assert_download_response
from demoproject.compat import reverse
from django_downloadview import assert_download_response
class StaticPathTestCase(django.test.TestCase):

View file

@ -3,7 +3,6 @@ from django.conf.urls import url
from demoproject.compat import patterns
from demoproject.path import views
urlpatterns = patterns(
"",
url(r"^static-path/$", views.static_path, name="static_path"),

View file

@ -2,7 +2,6 @@ import os
from django_downloadview import PathDownloadView
# Let's initialize some fixtures.
app_dir = os.path.dirname(os.path.abspath(__file__))
project_dir = os.path.dirname(app_dir)

View file

@ -1,8 +1,6 @@
# -*- coding: utf-8 -*-
"""Django settings for django-downloadview demo project."""
from distutils.version import StrictVersion
import os
from distutils.version import StrictVersion
from django.utils.version import get_version

View file

@ -1,4 +1,3 @@
from django.core.files.storage import FileSystemStorage
storage = FileSystemStorage()

View file

@ -1,16 +1,17 @@
import datetime
import unittest
import django.test
from django.core.files.base import ContentFile
from django.http.response import HttpResponseNotModified
import django.test
from django_downloadview import assert_download_response, temporary_media_root
from django_downloadview import setup_view
from demoproject.compat import reverse
from demoproject.storage import views
from django_downloadview import (
assert_download_response,
setup_view,
temporary_media_root,
)
# Fixtures.
file_content = "Hello world!\n"

View file

@ -3,7 +3,6 @@ from django.conf.urls import url
from demoproject.compat import patterns
from demoproject.storage import views
urlpatterns = patterns(
"",
url(

View file

@ -2,7 +2,6 @@ from django.core.files.storage import FileSystemStorage
from django_downloadview import StorageDownloadView
storage = FileSystemStorage()

View file

@ -1,9 +1,9 @@
# coding=utf8
"""Test suite for demoproject.download."""
from demoproject.compat import reverse
from django.test import TestCase
from demoproject.compat import reverse
class HomeViewTestCase(TestCase):
"""Test homepage."""

View file

@ -1,8 +1,7 @@
from django.conf.urls import url
from django.views.generic import TemplateView
from demoproject.compat import patterns, include
from demoproject.compat import include, patterns
home = TemplateView.as_view(template_name="home.html")

View file

@ -1,8 +1,7 @@
import django.test
from django_downloadview import assert_download_response
from demoproject.compat import reverse
from django_downloadview import assert_download_response
class TextTestCase(django.test.TestCase):

View file

@ -3,7 +3,6 @@ from django.conf.urls import url
from demoproject.compat import patterns
from demoproject.virtual import views
urlpatterns = patterns(
"",
url(r"^text/$", views.TextDownloadView.as_view(), name="text"),

View file

@ -1,10 +1,7 @@
from io import StringIO
from django.core.files.base import ContentFile
from django_downloadview import VirtualDownloadView
from django_downloadview import VirtualFile
from django_downloadview import TextIteratorIO
from django_downloadview import TextIteratorIO, VirtualDownloadView, VirtualFile
from io import StringIO
class TextDownloadView(VirtualDownloadView):

View file

@ -16,7 +16,6 @@ import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "%s.settings" % __package__)
# This application object is used by any WSGI server configured to use this

View file

@ -1,10 +1,7 @@
# -*- coding: utf-8 -*-
"""Python packaging."""
import os
from setuptools import setup
here = os.path.abspath(os.path.dirname(__file__))
project_root = os.path.dirname(here)

View file

@ -1,10 +1,7 @@
"""Serve files with Django and reverse proxies."""
import pkg_resources
from django_downloadview.api import * # NoQA
#: Module version, as defined in PEP-0396.
__version__ = pkg_resources.get_distribution(__package__.replace("-", "_")).version
# API shortcuts.
from django_downloadview.api import * # NoQA

View file

@ -7,6 +7,6 @@ Apache optimizations </optimizations/apache>`.
"""
# API shortcuts.
from django_downloadview.apache.decorators import x_sendfile # NoQA
from django_downloadview.apache.middlewares import XSendfileMiddleware # NoQA
from django_downloadview.apache.response import XSendfileResponse # NoQA
from django_downloadview.apache.tests import assert_x_sendfile # NoQA
from django_downloadview.apache.middlewares import XSendfileMiddleware # NoQA

View file

@ -1,6 +1,6 @@
"""Decorators to apply Apache X-Sendfile on a specific view."""
from django_downloadview.decorators import DownloadDecorator
from django_downloadview.apache.middlewares import XSendfileMiddleware
from django_downloadview.decorators import DownloadDecorator
def x_sendfile(view_func, *args, **kwargs):

View file

@ -1,7 +1,7 @@
from django_downloadview.apache.response import XSendfileResponse
from django_downloadview.middlewares import (
ProxiedDownloadMiddleware,
NoRedirectionMatch,
ProxiedDownloadMiddleware,
)

View file

@ -1,31 +1,25 @@
"""Declaration of API shortcuts."""
from django_downloadview.files import HTTPFile, StorageFile, VirtualFile # NoQA
from django_downloadview.io import BytesIteratorIO, TextIteratorIO # NoQA
from django_downloadview.files import StorageFile, VirtualFile, HTTPFile # NoQA
from django_downloadview.response import (
DownloadResponse, # NoQA
ProxiedDownloadResponse,
)
from django_downloadview.middlewares import BaseDownloadMiddleware # NoQA
from django_downloadview.middlewares import (
BaseDownloadMiddleware, # NoQA
DownloadDispatcherMiddleware,
SmartDownloadMiddleware,
)
from django_downloadview.response import DownloadResponse # NoQA
from django_downloadview.response import ProxiedDownloadResponse
from django_downloadview.shortcuts import sendfile # NoQA
from django_downloadview.test import assert_download_response # NoQA
from django_downloadview.test import setup_view, temporary_media_root
from django_downloadview.views import PathDownloadView # NoQA
from django_downloadview.views import (
PathDownloadView, # NoQA
ObjectDownloadView,
StorageDownloadView,
HTTPDownloadView,
VirtualDownloadView,
BaseDownloadView,
DownloadMixin,
HTTPDownloadView,
ObjectDownloadView,
StorageDownloadView,
VirtualDownloadView,
)
from django_downloadview.shortcuts import sendfile # NoQA
from django_downloadview.test import (
assert_download_response, # NoQA
setup_view,
temporary_media_root,
)
# Backward compatibility.
StringIteratorIO = TextIteratorIO

View file

@ -1,13 +1,12 @@
"""File wrappers for use as exchange data between views and responses."""
from io import BytesIO
from urllib.parse import urlparse
import requests
from django.core.files.base import File
from django.utils.encoding import force_bytes
import requests
from django_downloadview.io import BytesIteratorIO
from io import BytesIO
class StorageFile(File):

View file

@ -1,7 +1,7 @@
"""Low-level IO operations, for use with file wrappers."""
import io
from django.utils.encoding import force_bytes, force_text
from django.utils.encoding import force_text, force_bytes
import io
class TextIteratorIO(io.TextIOBase):

View file

@ -8,6 +8,6 @@ See also `documentation of X-Sendfile for Lighttpd
"""
# API shortcuts.
from django_downloadview.lighttpd.decorators import x_sendfile # NoQA
from django_downloadview.lighttpd.middlewares import XSendfileMiddleware # NoQA
from django_downloadview.lighttpd.response import XSendfileResponse # NoQA
from django_downloadview.lighttpd.tests import assert_x_sendfile # NoQA
from django_downloadview.lighttpd.middlewares import XSendfileMiddleware # NoQA

View file

@ -1,7 +1,7 @@
from django_downloadview.lighttpd.response import XSendfileResponse
from django_downloadview.middlewares import (
ProxiedDownloadMiddleware,
NoRedirectionMatch,
ProxiedDownloadMiddleware,
)

View file

@ -4,13 +4,16 @@ Download middlewares capture :py:class:`django_downloadview.DownloadResponse`
responses and may replace them with optimized download responses.
"""
import copy
import collections
import copy
import os
from django.conf import settings
from django.core.exceptions import ImproperlyConfigured
from django_downloadview.response import DownloadResponse
from django_downloadview.utils import import_member
try:
from django.utils.deprecation import MiddlewareMixin
except ImportError:
@ -20,10 +23,6 @@ except ImportError:
super(MiddlewareMixin, self).__init__()
from django_downloadview.response import DownloadResponse
from django_downloadview.utils import import_member
#: Sentinel value to detect whether configuration is to be loaded from Django
#: settings or not.
AUTO_CONFIGURE = object()

View file

@ -7,6 +7,6 @@ See also `Nginx X-accel documentation <http://wiki.nginx.org/X-accel>`_ and
"""
# API shortcuts.
from django_downloadview.nginx.decorators import x_accel_redirect # NoQA
from django_downloadview.nginx.middlewares import XAccelRedirectMiddleware # NoQA
from django_downloadview.nginx.response import XAccelRedirectResponse # NoQA
from django_downloadview.nginx.tests import assert_x_accel_redirect # NoQA
from django_downloadview.nginx.middlewares import XAccelRedirectMiddleware # NoQA

View file

@ -4,8 +4,8 @@ from django.conf import settings
from django.core.exceptions import ImproperlyConfigured
from django_downloadview.middlewares import (
ProxiedDownloadMiddleware,
NoRedirectionMatch,
ProxiedDownloadMiddleware,
)
from django_downloadview.nginx.response import XAccelRedirectResponse

View file

@ -12,7 +12,6 @@ import warnings
from django.conf import settings
from django.core.exceptions import ImproperlyConfigured
# In version 1.3, former XAccelRedirectMiddleware has been renamed to
# SingleXAccelRedirectMiddleware. So tell the users.
deprecated_middleware = "django_downloadview.nginx.XAccelRedirectMiddleware"

View file

@ -1,6 +1,6 @@
""":py:class:`django.http.HttpResponse` subclasses."""
import os
import mimetypes
import os
import re
import unicodedata
from urllib.parse import quote

View file

@ -1,7 +1,6 @@
"""Utility functions that may be implemented in external packages."""
import re
charset_pattern = re.compile(r"charset=(?P<charset>.+)$", re.I | re.U)

View file

@ -1,8 +1,8 @@
"""Views to stream files."""
# API shortcuts.
from django_downloadview.views.base import DownloadMixin, BaseDownloadView # NoQA
from django_downloadview.views.base import BaseDownloadView, DownloadMixin # NoQA
from django_downloadview.views.http import HTTPDownloadView # NoQA
from django_downloadview.views.object import ObjectDownloadView # NoQA
from django_downloadview.views.path import PathDownloadView # NoQA
from django_downloadview.views.storage import StorageDownloadView # NoQA
from django_downloadview.views.object import ObjectDownloadView # NoQA
from django_downloadview.views.http import HTTPDownloadView # NoQA
from django_downloadview.views.virtual import VirtualDownloadView # NoQA

View file

@ -2,7 +2,7 @@
:class:`BaseDownloadView`"""
import calendar
from django.http import HttpResponseNotModified, Http404
from django.http import Http404, HttpResponseNotModified
from django.views.generic.base import View
from django.views.static import was_modified_since

View file

@ -1,10 +1,10 @@
"""Test suite around :mod:`django_downloadview.api` and deprecation plan."""
from importlib import import_module, reload
import unittest
import warnings
from importlib import import_module, reload
from django.core.exceptions import ImproperlyConfigured
import django.test
from django.core.exceptions import ImproperlyConfigured
from django.test.utils import override_settings

View file

@ -1,8 +1,7 @@
"""Tests around :mod:`django_downloadview.io`."""
import unittest
from django_downloadview import TextIteratorIO, BytesIteratorIO
from django_downloadview import BytesIteratorIO, TextIteratorIO
HELLO_TEXT = u"Hello world!\né\n"
HELLO_BYTES = b"Hello world!\n\xc3\xa9\n"

View file

@ -2,7 +2,6 @@
import os
import unittest
tests_dir = os.path.dirname(os.path.abspath(__file__))
project_dir = os.path.dirname(tests_dir)
build_dir = os.path.join(project_dir, "var", "docs", "html")

View file

@ -1,6 +1,6 @@
"""Tests around :py:mod:`django_downloadview.sendfile`."""
from django.http import Http404
import django.test
from django.http import Http404
from django_downloadview.response import DownloadResponse
from django_downloadview.shortcuts import sendfile

View file

@ -3,20 +3,15 @@ import calendar
import os
import unittest
from datetime import datetime
from unittest import mock
try:
from unittest import mock
except ImportError:
import mock
import django.test
from django.core.files import File
from django.http import Http404
from django.http.response import HttpResponseNotModified
import django.test
from django_downloadview import exceptions
from django_downloadview import exceptions, views
from django_downloadview.test import setup_view
from django_downloadview import views
class DownloadMixinTestCase(unittest.TestCase):