Make sure that a custom OUTPUT_DIR setting doesn't raise a SuspiciousOperation.

This commit is contained in:
Jannis Leidel
2010-05-03 23:11:06 +02:00
parent 80af4b8685
commit b2c4621aec
2 changed files with 14 additions and 1 deletions

View File

@@ -120,7 +120,8 @@ class Compressor(object):
@property
def new_filepath(self):
filename = "".join([self.hash, self.extension])
return "/".join((settings.OUTPUT_DIR.strip('/'), self.output_prefix, filename))
return os.path.join(
settings.OUTPUT_DIR.strip(os.sep), self.output_prefix, filename)
def save_file(self):
if self.storage.exists(self.new_filepath):

View File

@@ -95,6 +95,18 @@ class CompressorTestCase(TestCase):
output = u'<script type="text/javascript" src="/media/CACHE/js/3f33b9146e12.js" charset="utf-8"></script>'
self.assertEqual(output, self.jsNode.output())
def test_custom_output_dir(self):
old_output_dir = settings.OUTPUT_DIR
settings.OUTPUT_DIR = 'custom'
output = u'<script type="text/javascript" src="/media/custom/js/3f33b9146e12.js" charset="utf-8"></script>'
self.assertEqual(output, JsCompressor(self.js).output())
settings.OUTPUT_DIR = ''
output = u'<script type="text/javascript" src="/media/js/3f33b9146e12.js" charset="utf-8"></script>'
self.assertEqual(output, JsCompressor(self.js).output())
settings.OUTPUT_DIR = '/custom/nested/'
output = u'<script type="text/javascript" src="/media/custom/nested/js/3f33b9146e12.js" charset="utf-8"></script>'
self.assertEqual(output, JsCompressor(self.js).output())
settings.OUTPUT_DIR = old_output_dir
class CssAbsolutizingTestCase(TestCase):
def setUp(self):