mirror of
https://github.com/jazzband/django-downloadview.git
synced 2026-03-16 22:40:25 +00:00
Merge branch 'master' into add-python3.9-support
This commit is contained in:
commit
c0acf77f73
23 changed files with 93 additions and 135 deletions
|
|
@ -2,11 +2,11 @@ import os
|
|||
|
||||
from django.core.files.base import ContentFile
|
||||
import django.test
|
||||
from django.urls import reverse
|
||||
|
||||
from django_downloadview.apache import assert_x_sendfile
|
||||
|
||||
from demoproject.apache.views import storage, storage_dir
|
||||
from demoproject.compat import reverse
|
||||
|
||||
|
||||
def setup_file():
|
||||
|
|
|
|||
|
|
@ -1,19 +1,18 @@
|
|||
"""URL mapping."""
|
||||
from django.conf.urls import url
|
||||
from django.urls import path
|
||||
|
||||
from demoproject.apache import views
|
||||
from demoproject.compat import patterns
|
||||
|
||||
urlpatterns = patterns(
|
||||
"demoproject.apache.views",
|
||||
url(
|
||||
r"^optimized-by-middleware/$",
|
||||
app_name = "apache"
|
||||
urlpatterns = [
|
||||
path(
|
||||
"optimized-by-middleware/",
|
||||
views.optimized_by_middleware,
|
||||
name="optimized_by_middleware",
|
||||
),
|
||||
url(
|
||||
r"^optimized-by-decorator/$",
|
||||
path(
|
||||
"optimized-by-decorator/",
|
||||
views.optimized_by_decorator,
|
||||
name="optimized_by_decorator",
|
||||
),
|
||||
)
|
||||
]
|
||||
|
|
|
|||
|
|
@ -1,26 +0,0 @@
|
|||
from distutils.version import StrictVersion
|
||||
|
||||
from django.utils.version import get_version
|
||||
|
||||
try:
|
||||
from django.conf.urls import patterns # noqa
|
||||
except ImportError:
|
||||
|
||||
def patterns(prefix, *args):
|
||||
return list(args)
|
||||
|
||||
|
||||
try:
|
||||
from django.urls import reverse # noqa
|
||||
except ImportError:
|
||||
from django.core.urlresolvers import reverse # noqa
|
||||
|
||||
if StrictVersion(get_version()) >= StrictVersion("2.0"):
|
||||
from django.conf.urls import include as urlinclude # noqa
|
||||
|
||||
def include(arg, namespace=None, app_name=None):
|
||||
return urlinclude((arg, app_name), namespace=namespace)
|
||||
|
||||
|
||||
else:
|
||||
from django.conf.urls import include # noqa
|
||||
|
|
@ -1,9 +1,8 @@
|
|||
import django.test
|
||||
from django.urls import reverse
|
||||
|
||||
from django_downloadview import assert_download_response
|
||||
|
||||
from demoproject.compat import reverse
|
||||
|
||||
|
||||
class SimpleURLTestCase(django.test.TestCase):
|
||||
def test_download_response(self):
|
||||
|
|
|
|||
|
|
@ -1,10 +1,9 @@
|
|||
from django.conf.urls import url
|
||||
from django.urls import path
|
||||
|
||||
from demoproject.compat import patterns
|
||||
from demoproject.http import views
|
||||
|
||||
urlpatterns = patterns(
|
||||
"",
|
||||
url(r"^simple_url/$", views.simple_url, name="simple_url"),
|
||||
url(r"^avatar_url/$", views.avatar_url, name="avatar_url"),
|
||||
)
|
||||
app_name = "http"
|
||||
urlpatterns = [
|
||||
path("simple_url/", views.simple_url, name="simple_url"),
|
||||
path("avatar_url/", views.avatar_url, name="avatar_url"),
|
||||
]
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@ import os
|
|||
|
||||
from django.core.files.base import ContentFile
|
||||
import django.test
|
||||
from django.urls import reverse
|
||||
|
||||
from django_downloadview.lighttpd import assert_x_sendfile
|
||||
|
||||
from demoproject.compat import reverse
|
||||
from demoproject.lighttpd.views import storage, storage_dir
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,19 +1,18 @@
|
|||
"""URL mapping."""
|
||||
from django.conf.urls import url
|
||||
from django.urls import path
|
||||
|
||||
from demoproject.compat import patterns
|
||||
from demoproject.lighttpd import views
|
||||
|
||||
urlpatterns = patterns(
|
||||
"demoproject.lighttpd.views",
|
||||
url(
|
||||
r"^optimized-by-middleware/$",
|
||||
app_name = "lighttpd"
|
||||
urlpatterns = [
|
||||
path(
|
||||
"optimized-by-middleware/",
|
||||
views.optimized_by_middleware,
|
||||
name="optimized_by_middleware",
|
||||
),
|
||||
url(
|
||||
r"^optimized-by-decorator/$",
|
||||
path(
|
||||
"optimized-by-decorator/",
|
||||
views.optimized_by_decorator,
|
||||
name="optimized_by_decorator",
|
||||
),
|
||||
)
|
||||
]
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@ import os
|
|||
|
||||
from django.core.files.base import ContentFile
|
||||
import django.test
|
||||
from django.urls import reverse
|
||||
|
||||
from django_downloadview.nginx import assert_x_accel_redirect
|
||||
|
||||
from demoproject.compat import reverse
|
||||
from demoproject.nginx.views import storage, storage_dir
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,20 +1,19 @@
|
|||
"""URL mapping."""
|
||||
|
||||
from django.conf.urls import url
|
||||
from django.urls import path
|
||||
|
||||
from demoproject.compat import patterns
|
||||
from demoproject.nginx import views
|
||||
|
||||
urlpatterns = patterns(
|
||||
"demoproject.nginx.views",
|
||||
url(
|
||||
r"^optimized-by-middleware/$",
|
||||
app_name = "nginx"
|
||||
urlpatterns = [
|
||||
path(
|
||||
"optimized-by-middleware/",
|
||||
views.optimized_by_middleware,
|
||||
name="optimized_by_middleware",
|
||||
),
|
||||
url(
|
||||
r"^optimized-by-decorator/$",
|
||||
path(
|
||||
"optimized-by-decorator/",
|
||||
views.optimized_by_decorator,
|
||||
name="optimized_by_decorator",
|
||||
),
|
||||
)
|
||||
]
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
from django.core.files.base import ContentFile
|
||||
import django.test
|
||||
from django.urls import reverse
|
||||
|
||||
from django_downloadview import assert_download_response, temporary_media_root
|
||||
|
||||
from demoproject.compat import reverse
|
||||
from demoproject.object.models import Document
|
||||
|
||||
# Fixtures.
|
||||
|
|
|
|||
|
|
@ -1,28 +1,27 @@
|
|||
from django.conf.urls import url
|
||||
from django.urls import re_path
|
||||
|
||||
from demoproject.compat import patterns
|
||||
from demoproject.object import views
|
||||
|
||||
urlpatterns = patterns(
|
||||
"",
|
||||
url(
|
||||
app_name = "object"
|
||||
urlpatterns = [
|
||||
re_path(
|
||||
r"^default-file/(?P<slug>[a-zA-Z0-9_-]+)/$",
|
||||
views.default_file_view,
|
||||
name="default_file",
|
||||
),
|
||||
url(
|
||||
re_path(
|
||||
r"^another-file/(?P<slug>[a-zA-Z0-9_-]+)/$",
|
||||
views.another_file_view,
|
||||
name="another_file",
|
||||
),
|
||||
url(
|
||||
re_path(
|
||||
r"^deserialized_basename/(?P<slug>[a-zA-Z0-9_-]+)/$",
|
||||
views.deserialized_basename_view,
|
||||
name="deserialized_basename",
|
||||
),
|
||||
url(
|
||||
re_path(
|
||||
r"^inline-file/(?P<slug>[a-zA-Z0-9_-]+)/$",
|
||||
views.inline_file_view,
|
||||
name="inline_file",
|
||||
),
|
||||
)
|
||||
]
|
||||
|
|
|
|||
|
|
@ -1,9 +1,8 @@
|
|||
import django.test
|
||||
from django.urls import reverse
|
||||
|
||||
from django_downloadview import assert_download_response
|
||||
|
||||
from demoproject.compat import reverse
|
||||
|
||||
|
||||
class StaticPathTestCase(django.test.TestCase):
|
||||
def test_download_response(self):
|
||||
|
|
|
|||
|
|
@ -1,14 +1,13 @@
|
|||
from django.conf.urls import url
|
||||
from django.urls import path, re_path
|
||||
|
||||
from demoproject.compat import patterns
|
||||
from demoproject.path import views
|
||||
|
||||
urlpatterns = patterns(
|
||||
"",
|
||||
url(r"^static-path/$", views.static_path, name="static_path"),
|
||||
url(
|
||||
app_name = "path"
|
||||
urlpatterns = [
|
||||
path("static-path/", views.static_path, name="static_path"),
|
||||
re_path(
|
||||
r"^dynamic-path/(?P<path>[a-zA-Z0-9_-]+\.[a-zA-Z0-9]{1,4})$",
|
||||
views.dynamic_path,
|
||||
name="dynamic_path",
|
||||
),
|
||||
)
|
||||
]
|
||||
|
|
|
|||
0
demo/demoproject/settings.py
Executable file → Normal file
0
demo/demoproject/settings.py
Executable file → Normal file
|
|
@ -4,6 +4,7 @@ import unittest
|
|||
from django.core.files.base import ContentFile
|
||||
from django.http.response import HttpResponseNotModified
|
||||
import django.test
|
||||
from django.urls import reverse
|
||||
|
||||
from django_downloadview import (
|
||||
assert_download_response,
|
||||
|
|
@ -11,7 +12,6 @@ from django_downloadview import (
|
|||
temporary_media_root,
|
||||
)
|
||||
|
||||
from demoproject.compat import reverse
|
||||
from demoproject.storage import views
|
||||
|
||||
# Fixtures.
|
||||
|
|
|
|||
|
|
@ -1,18 +1,17 @@
|
|||
from django.conf.urls import url
|
||||
from django.urls import re_path
|
||||
|
||||
from demoproject.compat import patterns
|
||||
from demoproject.storage import views
|
||||
|
||||
urlpatterns = patterns(
|
||||
"",
|
||||
url(
|
||||
app_name = "storage"
|
||||
urlpatterns = [
|
||||
re_path(
|
||||
r"^static-path/(?P<path>[a-zA-Z0-9_-]+\.[a-zA-Z0-9]{1,4})$",
|
||||
views.static_path,
|
||||
name="static_path",
|
||||
),
|
||||
url(
|
||||
re_path(
|
||||
r"^dynamic-path/(?P<path>[a-zA-Z0-9_-]+\.[a-zA-Z0-9]{1,4})$",
|
||||
views.dynamic_path,
|
||||
name="dynamic_path",
|
||||
),
|
||||
)
|
||||
]
|
||||
|
|
|
|||
|
|
@ -1,8 +1,6 @@
|
|||
# coding=utf8
|
||||
"""Test suite for demoproject.download."""
|
||||
from django.test import TestCase
|
||||
|
||||
from demoproject.compat import reverse
|
||||
from django.urls import reverse
|
||||
|
||||
|
||||
class HomeViewTestCase(TestCase):
|
||||
|
|
|
|||
51
demo/demoproject/urls.py
Executable file → Normal file
51
demo/demoproject/urls.py
Executable file → Normal file
|
|
@ -1,47 +1,44 @@
|
|||
from django.conf.urls import url
|
||||
from django.urls import include, path
|
||||
from django.views.generic import TemplateView
|
||||
|
||||
from demoproject.compat import include, patterns
|
||||
|
||||
home = TemplateView.as_view(template_name="home.html")
|
||||
|
||||
|
||||
urlpatterns = patterns(
|
||||
"",
|
||||
urlpatterns = [
|
||||
# ObjectDownloadView.
|
||||
url(
|
||||
r"^object/",
|
||||
include("demoproject.object.urls", app_name="object", namespace="object"),
|
||||
path(
|
||||
"object/",
|
||||
include("demoproject.object.urls", namespace="object"),
|
||||
),
|
||||
# StorageDownloadView.
|
||||
url(
|
||||
r"^storage/",
|
||||
include("demoproject.storage.urls", app_name="storage", namespace="storage"),
|
||||
path(
|
||||
"storage/",
|
||||
include("demoproject.storage.urls", namespace="storage"),
|
||||
),
|
||||
# PathDownloadView.
|
||||
url(r"^path/", include("demoproject.path.urls", app_name="path", namespace="path")),
|
||||
path("path/", include("demoproject.path.urls", namespace="path")),
|
||||
# HTTPDownloadView.
|
||||
url(r"^http/", include("demoproject.http.urls", app_name="http", namespace="http")),
|
||||
path("http/", include("demoproject.http.urls", namespace="http")),
|
||||
# VirtualDownloadView.
|
||||
url(
|
||||
r"^virtual/",
|
||||
include("demoproject.virtual.urls", app_name="virtual", namespace="virtual"),
|
||||
path(
|
||||
"virtual/",
|
||||
include("demoproject.virtual.urls", namespace="virtual"),
|
||||
),
|
||||
# Nginx optimizations.
|
||||
url(
|
||||
r"^nginx/",
|
||||
include("demoproject.nginx.urls", app_name="nginx", namespace="nginx"),
|
||||
path(
|
||||
"nginx/",
|
||||
include("demoproject.nginx.urls", namespace="nginx"),
|
||||
),
|
||||
# Apache optimizations.
|
||||
url(
|
||||
r"^apache/",
|
||||
include("demoproject.apache.urls", app_name="apache", namespace="apache"),
|
||||
path(
|
||||
"apache/",
|
||||
include("demoproject.apache.urls", namespace="apache"),
|
||||
),
|
||||
# Lighttpd optimizations.
|
||||
url(
|
||||
r"^lighttpd/",
|
||||
include("demoproject.lighttpd.urls", app_name="lighttpd", namespace="lighttpd"),
|
||||
path(
|
||||
"lighttpd/",
|
||||
include("demoproject.lighttpd.urls", namespace="lighttpd"),
|
||||
),
|
||||
# An informative homepage.
|
||||
url(r"$", home, name="home"),
|
||||
)
|
||||
path("", home, name="home"),
|
||||
]
|
||||
|
|
|
|||
|
|
@ -1,9 +1,8 @@
|
|||
import django.test
|
||||
from django.urls import reverse
|
||||
|
||||
from django_downloadview import assert_download_response
|
||||
|
||||
from demoproject.compat import reverse
|
||||
|
||||
|
||||
class TextTestCase(django.test.TestCase):
|
||||
def test_download_response(self):
|
||||
|
|
|
|||
|
|
@ -1,11 +1,10 @@
|
|||
from django.conf.urls import url
|
||||
from django.urls import path
|
||||
|
||||
from demoproject.compat import patterns
|
||||
from demoproject.virtual import views
|
||||
|
||||
urlpatterns = patterns(
|
||||
"",
|
||||
url(r"^text/$", views.TextDownloadView.as_view(), name="text"),
|
||||
url(r"^stringio/$", views.StringIODownloadView.as_view(), name="stringio"),
|
||||
url(r"^gerenated/$", views.GeneratedDownloadView.as_view(), name="generated"),
|
||||
)
|
||||
app_name = "virtual"
|
||||
urlpatterns = [
|
||||
path("text/", views.TextDownloadView.as_view(), name="text"),
|
||||
path("stringio/", views.StringIODownloadView.as_view(), name="stringio"),
|
||||
path("gerenated/", views.GeneratedDownloadView.as_view(), name="generated"),
|
||||
]
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ Setup a view to stream the ``file`` attribute:
|
|||
|
||||
.. literalinclude:: /../demo/demoproject/object/urls.py
|
||||
:language: python
|
||||
:lines: 1-7, 8-10, 20
|
||||
:lines: 1-7, 8-11, 20
|
||||
|
||||
|
||||
************
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ via URLconfs:
|
|||
|
||||
.. literalinclude:: /../demo/demoproject/path/urls.py
|
||||
:language: python
|
||||
:lines: 1-7, 11-13, 14
|
||||
:lines: 1-13
|
||||
|
||||
|
||||
*************
|
||||
|
|
|
|||
2
tox.ini
2
tox.ini
|
|
@ -9,9 +9,9 @@ python=
|
|||
[testenv]
|
||||
deps =
|
||||
coverage
|
||||
django111: Django>=1.11,<2.0
|
||||
django22: Django>=2.2,<3.0
|
||||
django30: Django>=3.0,<3.1
|
||||
django31: Django>=3.1,<3.2
|
||||
nose
|
||||
py27: mock
|
||||
commands =
|
||||
|
|
|
|||
Loading…
Reference in a new issue