summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Graham <timograham@gmail.com>2015-02-14 19:30:33 -0500
committerTim Graham <timograham@gmail.com>2015-02-17 07:29:30 -0500
commitbcb3bfa5a2716454e15ca0203e0debf497b14273 (patch)
treebc29400f64ff2c16a87ec0211fdb435ac56c7694
parenta00a0f880485e1f122e48e0216d34d08efe199e1 (diff)
[1.8.x] Refs #24324 -- Fixed management command discovery on non-ASCII paths.
Backport of 4a0aeac1b5cfb7b6229a01119a596afb38d8a2a0 from master
-rw-r--r--django/core/management/__init__.py8
1 files changed, 4 insertions, 4 deletions
diff --git a/django/core/management/__init__.py b/django/core/management/__init__.py
index a0c86024b9..5b0897748b 100644
--- a/django/core/management/__init__.py
+++ b/django/core/management/__init__.py
@@ -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):
@@ -27,7 +27,7 @@ def find_commands(management_dir):
command_dir = os.path.join(management_dir, 'commands')
# Workaround for a Python 3.2 bug with pkgutil.iter_modules
sys.path_importer_cache.pop(command_dir, None)
- 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('_')]
@@ -64,7 +64,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