Another unicode/path fix.
[redakcja.git] / apps / fileupload / views.py
index d08bfd3..e4baf02 100644 (file)
@@ -4,6 +4,7 @@ from urllib import quote
 from django.conf import settings
 from django.http import HttpResponse, HttpResponseRedirect, HttpResponseForbidden, Http404
 from django.utils.decorators import method_decorator
+from django.utils.encoding import smart_bytes
 from django.views.decorators.vary import vary_on_headers
 from django.views.generic import FormView, View
 from .forms import UploadForm
@@ -41,7 +42,7 @@ class UploadView(FormView):
 
     def get_directory(self):
         """Directory relative to MEDIA_ROOT. Must end with a slash."""
-        return self.kwargs['path']
+        return self.kwargs['path'].encode('utf-8')
 
     def breadcrumbs(self):
         """List of tuples (name, url) or just (name,) for breadcrumbs.
@@ -74,6 +75,7 @@ class UploadView(FormView):
         Makes sure it's inside MEDIA_ROOT.
         
         """
+        filename = smart_bytes(filename)
         path = os.path.abspath(os.path.join(
                 settings.MEDIA_ROOT,
                 self.get_directory(),