Skip to content

Commit 9123d68

Browse files
authored
Add Django 4.0 support (#760)
1 parent 8628326 commit 9123d68

File tree

4 files changed

+15
-15
lines changed

4 files changed

+15
-15
lines changed

pipeline/compressors/__init__.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from itertools import takewhile
88

99
from django.contrib.staticfiles.storage import staticfiles_storage
10-
from django.utils.encoding import smart_bytes, force_text
10+
from django.utils.encoding import smart_bytes, force_str
1111

1212
from pipeline.conf import settings
1313
from pipeline.exceptions import CompressorError
@@ -183,7 +183,7 @@ def encoded_content(self, path):
183183
if path in self.__class__.asset_contents:
184184
return self.__class__.asset_contents[path]
185185
data = self.read_bytes(path)
186-
self.__class__.asset_contents[path] = force_text(base64.b64encode(data))
186+
self.__class__.asset_contents[path] = force_str(base64.b64encode(data))
187187
return self.__class__.asset_contents[path]
188188

189189
def mime_type(self, path):
@@ -217,7 +217,7 @@ def read_bytes(self, path):
217217

218218
def read_text(self, path):
219219
content = self.read_bytes(path)
220-
return force_text(content)
220+
return force_str(content)
221221

222222

223223
class CompressorBase(object):
@@ -250,7 +250,7 @@ def execute_command(self, command, content):
250250
raise CompressorError(stderr)
251251
elif self.verbose:
252252
print(stderr)
253-
return force_text(stdout)
253+
return force_str(stdout)
254254

255255

256256
class NoopCompressor(CompressorBase):

tests/tests/test_middleware.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@
88
from pipeline.middleware import MinifyHTMLMiddleware
99

1010

11+
def dummy_get_response(request):
12+
return None
13+
14+
1115
class MiddlewareTest(TestCase):
1216
whitespace = b' '
1317

@@ -25,19 +29,17 @@ def setUp(self):
2529
def test_middleware_html(self):
2630
self.resp['Content-Type'] = 'text/html; charset=UTF-8'
2731

28-
response = MinifyHTMLMiddleware().process_response(self.req, self.resp)
32+
response = MinifyHTMLMiddleware(dummy_get_response).process_response(self.req, self.resp)
2933
self.assertIn('text/html', response['Content-Type'])
3034
self.assertNotIn(self.whitespace, response.content)
3135

3236
def test_middleware_text(self):
3337
self.resp['Content-Type'] = 'text/plain; charset=UTF-8'
3438

35-
response = MinifyHTMLMiddleware().process_response(self.req, self.resp)
39+
response = MinifyHTMLMiddleware(dummy_get_response).process_response(self.req, self.resp)
3640
self.assertIn('text/plain', response['Content-Type'])
3741
self.assertIn(self.whitespace, response.content)
3842

3943
@patch('pipeline.middleware.settings.PIPELINE_ENABLED', False)
4044
def test_middleware_not_used(self):
41-
self.resp['Content-Type'] = 'text/plain; charset=UTF-8'
42-
43-
self.assertRaises(MiddlewareNotUsed, MinifyHTMLMiddleware)
45+
self.assertRaises(MiddlewareNotUsed, MinifyHTMLMiddleware, dummy_get_response)

tests/urls.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
from django.conf.urls import url
21
from django.contrib import admin
2+
from django.urls import path
33
from django.views.generic import TemplateView
44

55

66
urlpatterns = [
7-
url(r'^$', TemplateView.as_view(template_name="index.html"), name="index"),
8-
url(r'^empty/$', TemplateView.as_view(template_name="empty.html"), name="empty"),
9-
url(r'^admin/', admin.site.urls),
7+
path('', TemplateView.as_view(template_name='index.html'), name='index'),
8+
path('empty/', TemplateView.as_view(template_name='empty.html'), name='empty'),
9+
path('admin/', admin.site.urls),
1010
]

tox.ini

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,8 @@ commands =
5656
{envbindir}/coverage xml
5757
whitelist_externals = npm
5858
ignore_outcome =
59-
dj40: True
6059
djmain: True
6160
ignore_errors =
62-
dj40: True
6361
djmain: True
6462

6563
[testenv:docs]

0 commit comments

Comments
 (0)