summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Apolloner <florian@apolloner.eu>2013-06-03 13:18:16 +0200
committerFlorian Apolloner <florian@apolloner.eu>2013-06-03 13:18:16 +0200
commitc9d07d251fc68fe1a80c2a49e183bbef546238d9 (patch)
tree38d62caa3566eb7bf26e87dd881d691818f6a305
parent6900cb79dcbc502e0b18476e53ad493b7069ffb8 (diff)
Fixed loaddata for Django checkouts with non ASCII chars in the name.
-rw-r--r--django/core/management/commands/loaddata.py3
-rw-r--r--django/utils/_os.py2
2 files changed, 3 insertions, 2 deletions
diff --git a/django/core/management/commands/loaddata.py b/django/core/management/commands/loaddata.py
index 45f25c21db..6856e85e45 100644
--- a/django/core/management/commands/loaddata.py
+++ b/django/core/management/commands/loaddata.py
@@ -16,6 +16,7 @@ from django.db import (connections, router, transaction, DEFAULT_DB_ALIAS,
from django.db.models import get_app_paths
from django.utils.encoding import force_text
from django.utils.functional import cached_property, memoize
+from django.utils._os import upath
from itertools import product
try:
@@ -237,7 +238,7 @@ class Command(BaseCommand):
dirs.append(d)
dirs.extend(list(settings.FIXTURE_DIRS))
dirs.append('')
- dirs = [os.path.abspath(os.path.realpath(d)) for d in dirs]
+ dirs = [upath(os.path.abspath(os.path.realpath(d))) for d in dirs]
return dirs
def parse_name(self, fixture_name):
diff --git a/django/utils/_os.py b/django/utils/_os.py
index 6c1cd17a83..607e02c94d 100644
--- a/django/utils/_os.py
+++ b/django/utils/_os.py
@@ -38,7 +38,7 @@ def upath(path):
"""
Always return a unicode path.
"""
- if not six.PY3:
+ if not six.PY3 and not isinstance(path, six.text_type):
return path.decode(fs_encoding)
return path