Commit 60265a1a authored by Diederik van der Boor's avatar Diederik van der Boor
Browse files

Fix test for Django 1.8/1.9

parent a81d26d6
...@@ -6,6 +6,7 @@ import logging ...@@ -6,6 +6,7 @@ import logging
import os import os
import posixpath import posixpath
import django
from django.core.exceptions import ValidationError from django.core.exceptions import ValidationError
from django.core.files.uploadedfile import UploadedFile from django.core.files.uploadedfile import UploadedFile
from django.db import models from django.db import models
...@@ -65,7 +66,7 @@ class PrivateFileField(models.FileField): ...@@ -65,7 +66,7 @@ class PrivateFileField(models.FileField):
path_parts = [] path_parts = []
if self.upload_to: if self.upload_to:
# Support the upload_to callable that Django 1.9+ provides # Support the upload_to callable that Django provides
if callable(self.upload_to): if callable(self.upload_to):
dirname, filename = os.path.split(self.upload_to(instance, filename)) dirname, filename = os.path.split(self.upload_to(instance, filename))
path_parts.append(dirname) path_parts.append(dirname)
...@@ -88,8 +89,11 @@ class PrivateFileField(models.FileField): ...@@ -88,8 +89,11 @@ class PrivateFileField(models.FileField):
path_parts = [self.get_directory_name()] path_parts = [self.get_directory_name()]
path_parts.append(self._get_clean_filename(filename)) path_parts.append(self._get_clean_filename(filename))
filename = posixpath.join(*path_parts) if django.VERSION >= (1, 10):
return self.storage.generate_filename(filename) filename = posixpath.join(*path_parts)
return self.storage.generate_filename(filename)
else:
return os.path.join(*path_parts)
def _get_clean_filename(self, filename): def _get_clean_filename(self, filename):
# As of Django 1.10+, file names are no longer cleaned locally, but cleaned by the storage. # As of Django 1.10+, file names are no longer cleaned locally, but cleaned by the storage.
......
...@@ -12,7 +12,8 @@ class PrivateFileTestCase(TestCase): ...@@ -12,7 +12,8 @@ class PrivateFileTestCase(TestCase):
Empty the test folder after each test case. Empty the test folder after each test case.
""" """
super(PrivateFileTestCase, self).tearDown() super(PrivateFileTestCase, self).tearDown()
shutil.rmtree(settings.PRIVATE_STORAGE_ROOT) if os.path.exists(settings.PRIVATE_STORAGE_ROOT):
shutil.rmtree(settings.PRIVATE_STORAGE_ROOT)
def assertExists(self, *parts): def assertExists(self, *parts):
""" """
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment