[1.10.x] Fixed #26897 -- Fixed makemessages crash on Python 2 with non-ASCII file names
Thanks Tim Graham for the review.
Backport of 3e71f6544f
from master.
This commit is contained in:
parent
acb804e552
commit
96a37a0266
|
@ -549,7 +549,7 @@ class Command(BaseCommand):
|
|||
|
||||
input_files = [bf.work_path for bf in build_files]
|
||||
with NamedTemporaryFile(mode='w+') as input_files_list:
|
||||
input_files_list.write('\n'.join(input_files))
|
||||
input_files_list.write(force_str('\n'.join(input_files), encoding=DEFAULT_LOCALE_ENCODING))
|
||||
input_files_list.flush()
|
||||
args.extend(['--files-from', input_files_list.name])
|
||||
args.extend(self.xgettext_options)
|
||||
|
|
|
@ -12,3 +12,6 @@ Bugfixes
|
|||
* Fixed missing ``varchar/text_pattern_ops`` index on ``CharField`` and
|
||||
``TextField`` respectively when using ``AddField`` on PostgreSQL
|
||||
(:ticket:`26889`).
|
||||
|
||||
* Fixed ``makemessages`` crash on Python 2 with non-ASCII file names
|
||||
(:ticket:`26897`).
|
||||
|
|
|
@ -256,6 +256,10 @@ class BasicExtractorTests(ExtractorTests):
|
|||
self.assertIn("UnicodeDecodeError: skipped file not_utf8.txt in .",
|
||||
force_text(out.getvalue()))
|
||||
|
||||
def test_unicode_file_name(self):
|
||||
open(os.path.join(self.test_dir, 'vidéo.txt'), 'a').close()
|
||||
management.call_command('makemessages', locale=[LOCALE], verbosity=0)
|
||||
|
||||
def test_extraction_warning(self):
|
||||
"""test xgettext warning about multiple bare interpolation placeholders"""
|
||||
os.chdir(self.test_dir)
|
||||
|
|
Loading…
Reference in New Issue