Loading django/core/files/base.py +4 −3 Original line number Diff line number Diff line Loading @@ -3,10 +3,11 @@ from __future__ import unicode_literals import os from io import BytesIO, StringIO, UnsupportedOperation from django.utils.encoding import smart_text from django.core.files.utils import FileProxyMixin from django.utils import six from django.utils.encoding import force_bytes, python_2_unicode_compatible from django.utils.encoding import ( force_bytes, force_str, python_2_unicode_compatible, smart_text, ) @python_2_unicode_compatible Loading @@ -25,7 +26,7 @@ class File(FileProxyMixin): return smart_text(self.name or '') def __repr__(self): return "<%s: %s>" % (self.__class__.__name__, self or "None") return force_str("<%s: %s>" % (self.__class__.__name__, self or "None")) def __bool__(self): return bool(self.name) Loading docs/releases/1.7.2.txt +3 −0 Original line number Diff line number Diff line Loading @@ -77,3 +77,6 @@ Bugfixes * Fixed a crash in migrations when deleting a field that is part of a ``index/unique_together`` constraint (:ticket:`23794`). * Fixed ``django.core.files.File.__repr__()`` when the file's ``name`` contains Unicode characters (:ticket:`23888`). tests/files/tests.py +5 −6 Original line number Diff line number Diff line Loading @@ -26,13 +26,12 @@ else: class FileTests(unittest.TestCase): def test_unicode_uploadedfile_name(self): """ Regression test for #8156: files with unicode names I can't quite figure out the encoding situation between doctest and this file, but the actual repr doesn't matter; it just shouldn't return a unicode object. """ uf = UploadedFile(name='¿Cómo?', content_type='text') self.assertEqual(type(uf.__repr__()), str) self.assertIs(type(repr(uf)), str) def test_unicode_file_name(self): f = File(None, 'djángö') self.assertIs(type(repr(f)), str) def test_context_manager(self): orig_file = tempfile.TemporaryFile() Loading Loading
django/core/files/base.py +4 −3 Original line number Diff line number Diff line Loading @@ -3,10 +3,11 @@ from __future__ import unicode_literals import os from io import BytesIO, StringIO, UnsupportedOperation from django.utils.encoding import smart_text from django.core.files.utils import FileProxyMixin from django.utils import six from django.utils.encoding import force_bytes, python_2_unicode_compatible from django.utils.encoding import ( force_bytes, force_str, python_2_unicode_compatible, smart_text, ) @python_2_unicode_compatible Loading @@ -25,7 +26,7 @@ class File(FileProxyMixin): return smart_text(self.name or '') def __repr__(self): return "<%s: %s>" % (self.__class__.__name__, self or "None") return force_str("<%s: %s>" % (self.__class__.__name__, self or "None")) def __bool__(self): return bool(self.name) Loading
docs/releases/1.7.2.txt +3 −0 Original line number Diff line number Diff line Loading @@ -77,3 +77,6 @@ Bugfixes * Fixed a crash in migrations when deleting a field that is part of a ``index/unique_together`` constraint (:ticket:`23794`). * Fixed ``django.core.files.File.__repr__()`` when the file's ``name`` contains Unicode characters (:ticket:`23888`).
tests/files/tests.py +5 −6 Original line number Diff line number Diff line Loading @@ -26,13 +26,12 @@ else: class FileTests(unittest.TestCase): def test_unicode_uploadedfile_name(self): """ Regression test for #8156: files with unicode names I can't quite figure out the encoding situation between doctest and this file, but the actual repr doesn't matter; it just shouldn't return a unicode object. """ uf = UploadedFile(name='¿Cómo?', content_type='text') self.assertEqual(type(uf.__repr__()), str) self.assertIs(type(repr(uf)), str) def test_unicode_file_name(self): f = File(None, 'djángö') self.assertIs(type(repr(f)), str) def test_context_manager(self): orig_file = tempfile.TemporaryFile() Loading