Refs #24324 -- Fixed management command discovery on non-ASCII paths.
This commit is contained in:
parent
8b39f33d78
commit
4a0aeac1b5
|
@ -13,8 +13,8 @@ from django.core.exceptions import ImproperlyConfigured
|
|||
from django.core.management.base import (BaseCommand, CommandError,
|
||||
CommandParser, handle_default_options)
|
||||
from django.core.management.color import color_style
|
||||
from django.utils import lru_cache
|
||||
from django.utils import six
|
||||
from django.utils import lru_cache, six
|
||||
from django.utils._os import npath, upath
|
||||
|
||||
|
||||
def find_commands(management_dir):
|
||||
|
@ -25,7 +25,7 @@ def find_commands(management_dir):
|
|||
Returns an empty list if no commands are defined.
|
||||
"""
|
||||
command_dir = os.path.join(management_dir, 'commands')
|
||||
return [name for _, name, is_pkg in pkgutil.iter_modules([command_dir])
|
||||
return [name for _, name, is_pkg in pkgutil.iter_modules([npath(command_dir)])
|
||||
if not is_pkg and not name.startswith('_')]
|
||||
|
||||
|
||||
|
@ -62,7 +62,7 @@ def get_commands():
|
|||
The dictionary is cached on the first call and reused on subsequent
|
||||
calls.
|
||||
"""
|
||||
commands = {name: 'django.core' for name in find_commands(__path__[0])}
|
||||
commands = {name: 'django.core' for name in find_commands(upath(__path__[0]))}
|
||||
|
||||
if not settings.configured:
|
||||
return commands
|
||||
|
|
Loading…
Reference in New Issue