Ensured gen_filenames() yields native strings.
This also fixes a test failure on Python 2 when Django is installed in a non-ASCII path. This problem cannot happen on Python 3.
This commit is contained in:
parent
dfa712efb8
commit
c2fcba2ac7
|
@ -37,6 +37,7 @@ import traceback
|
||||||
from django.apps import apps
|
from django.apps import apps
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.core.signals import request_finished
|
from django.core.signals import request_finished
|
||||||
|
from django.utils._os import npath
|
||||||
from django.utils.six.moves import _thread as thread
|
from django.utils.six.moves import _thread as thread
|
||||||
|
|
||||||
# This import does nothing, but it's necessary to avoid some race conditions
|
# This import does nothing, but it's necessary to avoid some race conditions
|
||||||
|
@ -106,7 +107,7 @@ def gen_filenames(only_new=False):
|
||||||
'conf', 'locale'),
|
'conf', 'locale'),
|
||||||
'locale']
|
'locale']
|
||||||
for app_config in reversed(list(apps.get_app_configs())):
|
for app_config in reversed(list(apps.get_app_configs())):
|
||||||
basedirs.append(os.path.join(app_config.path, 'locale'))
|
basedirs.append(os.path.join(npath(app_config.path), 'locale'))
|
||||||
basedirs.extend(settings.LOCALE_PATHS)
|
basedirs.extend(settings.LOCALE_PATHS)
|
||||||
basedirs = [os.path.abspath(basedir) for basedir in basedirs
|
basedirs = [os.path.abspath(basedir) for basedir in basedirs
|
||||||
if os.path.isdir(basedir)]
|
if os.path.isdir(basedir)]
|
||||||
|
|
|
@ -90,6 +90,10 @@ class TestFilenameGenerator(SimpleTestCase):
|
||||||
django_mo = os.path.join(django_dir, 'nl', 'LC_MESSAGES', 'django.mo')
|
django_mo = os.path.join(django_dir, 'nl', 'LC_MESSAGES', 'django.mo')
|
||||||
self.assertFileNotFound(django_mo)
|
self.assertFileNotFound(django_mo)
|
||||||
|
|
||||||
|
def test_paths_are_native_strings(self):
|
||||||
|
for filename in autoreload.gen_filenames():
|
||||||
|
self.assertIsInstance(filename, str)
|
||||||
|
|
||||||
def test_only_new_files(self):
|
def test_only_new_files(self):
|
||||||
"""
|
"""
|
||||||
When calling a second time gen_filenames with only_new = True, only
|
When calling a second time gen_filenames with only_new = True, only
|
||||||
|
|
Loading…
Reference in New Issue