Skip to content

Commit edfa95c

Browse files
committed
Specified when open should use binary mode.
Thanks Vinaj Sajip for the help of his django3 branch.
1 parent e73838b commit edfa95c

File tree

6 files changed

+22
-20
lines changed

6 files changed

+22
-20
lines changed

django/contrib/formtools/tests/wizard/namedwizardtests/tests.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ def test_form_finish(self):
120120
self.assertEqual(response.context['wizard']['steps'].current, 'form2')
121121

122122
post_data = self.wizard_step_data[1]
123-
post_data['form2-file1'] = open(__file__)
123+
post_data['form2-file1'] = open(__file__, 'rb')
124124
response = self.client.post(
125125
reverse(self.wizard_urlname,
126126
kwargs={'step': response.context['wizard']['steps'].current}),
@@ -147,7 +147,7 @@ def test_form_finish(self):
147147
self.assertEqual(response.status_code, 200)
148148

149149
all_data = response.context['form_list']
150-
self.assertEqual(all_data[1]['file1'].read(), open(__file__).read())
150+
self.assertEqual(all_data[1]['file1'].read(), open(__file__, 'rb').read())
151151
del all_data[1]['file1']
152152
self.assertEqual(all_data, [
153153
{'name': u'Pony', 'thirsty': True, 'user': self.testuser},
@@ -168,7 +168,7 @@ def test_cleaned_data(self):
168168
self.assertEqual(response.status_code, 200)
169169

170170
post_data = self.wizard_step_data[1]
171-
post_data['form2-file1'] = open(__file__)
171+
post_data['form2-file1'] = open(__file__, 'rb')
172172
response = self.client.post(
173173
reverse(self.wizard_urlname,
174174
kwargs={'step': response.context['wizard']['steps'].current}),
@@ -180,7 +180,9 @@ def test_cleaned_data(self):
180180
response = self.client.get(step2_url)
181181
self.assertEqual(response.status_code, 200)
182182
self.assertEqual(response.context['wizard']['steps'].current, 'form2')
183-
self.assertEqual(response.context['wizard']['form'].files['form2-file1'].read(), open(__file__).read())
183+
self.assertEqual(
184+
response.context['wizard']['form'].files['form2-file1'].read(),
185+
open(__file__, 'rb').read())
184186

185187
response = self.client.post(
186188
reverse(self.wizard_urlname,
@@ -197,7 +199,7 @@ def test_cleaned_data(self):
197199
self.assertEqual(response.status_code, 200)
198200

199201
all_data = response.context['all_cleaned_data']
200-
self.assertEqual(all_data['file1'].read(), open(__file__).read())
202+
self.assertEqual(all_data['file1'].read(), open(__file__, 'rb').read())
201203
del all_data['file1']
202204
self.assertEqual(
203205
all_data,
@@ -221,7 +223,7 @@ def test_manipulated_data(self):
221223
self.assertEqual(response.status_code, 200)
222224

223225
post_data = self.wizard_step_data[1]
224-
post_data['form2-file1'] = open(__file__)
226+
post_data['form2-file1'] = open(__file__, 'rb')
225227
response = self.client.post(
226228
reverse(self.wizard_urlname,
227229
kwargs={'step': response.context['wizard']['steps'].current}),

django/contrib/formtools/tests/wizard/wizardtests/tests.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ def test_form_finish(self):
8080
self.assertEqual(response.context['wizard']['steps'].current, 'form2')
8181

8282
post_data = self.wizard_step_data[1]
83-
post_data['form2-file1'] = open(__file__)
83+
post_data['form2-file1'] = open(__file__, 'rb')
8484
response = self.client.post(self.wizard_url, post_data)
8585
self.assertEqual(response.status_code, 200)
8686
self.assertEqual(response.context['wizard']['steps'].current, 'form3')
@@ -93,7 +93,7 @@ def test_form_finish(self):
9393
self.assertEqual(response.status_code, 200)
9494

9595
all_data = response.context['form_list']
96-
self.assertEqual(all_data[1]['file1'].read(), open(__file__).read())
96+
self.assertEqual(all_data[1]['file1'].read(), open(__file__, 'rb').read())
9797
del all_data[1]['file1']
9898
self.assertEqual(all_data, [
9999
{'name': u'Pony', 'thirsty': True, 'user': self.testuser},
@@ -110,7 +110,7 @@ def test_cleaned_data(self):
110110
self.assertEqual(response.status_code, 200)
111111

112112
post_data = self.wizard_step_data[1]
113-
post_data['form2-file1'] = open(__file__)
113+
post_data['form2-file1'] = open(__file__, 'rb')
114114
response = self.client.post(self.wizard_url, post_data)
115115
self.assertEqual(response.status_code, 200)
116116

@@ -121,7 +121,7 @@ def test_cleaned_data(self):
121121
self.assertEqual(response.status_code, 200)
122122

123123
all_data = response.context['all_cleaned_data']
124-
self.assertEqual(all_data['file1'].read(), open(__file__).read())
124+
self.assertEqual(all_data['file1'].read(), open(__file__, 'rb').read())
125125
del all_data['file1']
126126
self.assertEqual(all_data, {
127127
'name': u'Pony', 'thirsty': True, 'user': self.testuser,
@@ -138,7 +138,7 @@ def test_manipulated_data(self):
138138
self.assertEqual(response.status_code, 200)
139139

140140
post_data = self.wizard_step_data[1]
141-
post_data['form2-file1'] = open(__file__)
141+
post_data['form2-file1'] = open(__file__, 'rb')
142142
response = self.client.post(self.wizard_url, post_data)
143143
self.assertEqual(response.status_code, 200)
144144

@@ -165,7 +165,7 @@ def test_form_refresh(self):
165165
self.assertEqual(response.context['wizard']['steps'].current, 'form2')
166166

167167
post_data = self.wizard_step_data[1]
168-
post_data['form2-file1'] = open(__file__)
168+
post_data['form2-file1'] = open(__file__, 'rb')
169169
response = self.client.post(self.wizard_url, post_data)
170170
self.assertEqual(response.status_code, 200)
171171
self.assertEqual(response.context['wizard']['steps'].current, 'form3')

django/core/management/commands/compilemessages.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from django.core.management.base import BaseCommand, CommandError
66

77
def has_bom(fn):
8-
with open(fn, 'r') as f:
8+
with open(fn, 'rb') as f:
99
sample = f.read(4)
1010
return sample[:3] == '\xef\xbb\xbf' or \
1111
sample.startswith(codecs.BOM_UTF16_LE) or \

django/template/loaders/app_directories.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ def get_template_sources(self, template_name, template_dirs=None):
5252
def load_template_source(self, template_name, template_dirs=None):
5353
for filepath in self.get_template_sources(template_name, template_dirs):
5454
try:
55-
with open(filepath) as fp:
55+
with open(filepath, 'rb') as fp:
5656
return (fp.read().decode(settings.FILE_CHARSET), filepath)
5757
except IOError:
5858
pass

django/template/loaders/filesystem.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ def load_template_source(self, template_name, template_dirs=None):
3434
tried = []
3535
for filepath in self.get_template_sources(template_name, template_dirs):
3636
try:
37-
with open(filepath) as fp:
37+
with open(filepath, 'rb') as fp:
3838
return (fp.read().decode(settings.FILE_CHARSET), filepath)
3939
except IOError:
4040
tried.append(filepath)

tests/regressiontests/views/tests/static.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ def test_serve(self):
2929
for filename in media_files:
3030
response = self.client.get('/views/%s/%s' % (self.prefix, filename))
3131
file_path = path.join(media_dir, filename)
32-
with open(file_path) as fp:
32+
with open(file_path, 'rb') as fp:
3333
self.assertEqual(fp.read(), response.content)
3434
self.assertEqual(len(response.content), int(response['Content-Length']))
3535
self.assertEqual(mimetypes.guess_type(file_path)[1], response.get('Content-Encoding', None))
@@ -41,14 +41,14 @@ def test_unknown_mime_type(self):
4141
def test_copes_with_empty_path_component(self):
4242
file_name = 'file.txt'
4343
response = self.client.get('/views/%s//%s' % (self.prefix, file_name))
44-
with open(path.join(media_dir, file_name)) as fp:
44+
with open(path.join(media_dir, file_name), 'rb') as fp:
4545
self.assertEqual(fp.read(), response.content)
4646

4747
def test_is_modified_since(self):
4848
file_name = 'file.txt'
4949
response = self.client.get('/views/%s/%s' % (self.prefix, file_name),
5050
HTTP_IF_MODIFIED_SINCE='Thu, 1 Jan 1970 00:00:00 GMT')
51-
with open(path.join(media_dir, file_name)) as fp:
51+
with open(path.join(media_dir, file_name), 'rb') as fp:
5252
self.assertEqual(fp.read(), response.content)
5353

5454
def test_not_modified_since(self):
@@ -71,7 +71,7 @@ def test_invalid_if_modified_since(self):
7171
invalid_date = 'Mon, 28 May 999999999999 28:25:26 GMT'
7272
response = self.client.get('/views/%s/%s' % (self.prefix, file_name),
7373
HTTP_IF_MODIFIED_SINCE=invalid_date)
74-
with open(path.join(media_dir, file_name)) as fp:
74+
with open(path.join(media_dir, file_name), 'rb') as fp:
7575
self.assertEqual(fp.read(), response.content)
7676
self.assertEqual(len(response.content),
7777
int(response['Content-Length']))
@@ -86,7 +86,7 @@ def test_invalid_if_modified_since2(self):
8686
invalid_date = ': 1291108438, Wed, 20 Oct 2010 14:05:00 GMT'
8787
response = self.client.get('/views/%s/%s' % (self.prefix, file_name),
8888
HTTP_IF_MODIFIED_SINCE=invalid_date)
89-
with open(path.join(media_dir, file_name)) as fp:
89+
with open(path.join(media_dir, file_name), 'rb') as fp:
9090
self.assertEqual(fp.read(), response.content)
9191
self.assertEqual(len(response.content),
9292
int(response['Content-Length']))

0 commit comments

Comments
 (0)