Removed CompassFilter again due to the orthogonal behavior of its CLI. Use django-compass instead.
This commit is contained in:
@@ -40,11 +40,6 @@ class CompressorSettings(AppSettings):
|
|||||||
YUI_JS_ARGUMENTS = ''
|
YUI_JS_ARGUMENTS = ''
|
||||||
DATA_URI_MAX_SIZE = 1024
|
DATA_URI_MAX_SIZE = 1024
|
||||||
|
|
||||||
COMPASS_BINARY = 'compass'
|
|
||||||
COMPASS_ARGUMENTS = ' --no-line-comments --output-style expanded'
|
|
||||||
COMPASS_PLUGINS = []
|
|
||||||
COMPASS_IMAGES_DIR = 'images/'
|
|
||||||
|
|
||||||
# the cache backend to use
|
# the cache backend to use
|
||||||
CACHE_BACKEND = None
|
CACHE_BACKEND = None
|
||||||
# the dotted path to the function that creates the cache key
|
# the dotted path to the function that creates the cache key
|
||||||
@@ -116,7 +111,4 @@ class CompressorSettings(AppSettings):
|
|||||||
"must be a list or tuple. Check for missing commas.")
|
"must be a list or tuple. Check for missing commas.")
|
||||||
return value
|
return value
|
||||||
|
|
||||||
def configure_compass_images_dir(self, value):
|
|
||||||
return self.configure_url(value)
|
|
||||||
|
|
||||||
settings = CompressorSettings(prefix="COMPRESS")
|
settings = CompressorSettings(prefix="COMPRESS")
|
||||||
|
|||||||
@@ -1,40 +0,0 @@
|
|||||||
import tempfile
|
|
||||||
from os import path
|
|
||||||
|
|
||||||
from compressor.conf import settings
|
|
||||||
from compressor.filters import CompilerFilter
|
|
||||||
|
|
||||||
|
|
||||||
class CompassFilter(CompilerFilter):
|
|
||||||
"""
|
|
||||||
Converts Compass files to css.
|
|
||||||
"""
|
|
||||||
command = "{binary} compile --force --quiet --boring {args} "
|
|
||||||
options = (
|
|
||||||
("binary", settings.COMPRESS_COMPASS_BINARY),
|
|
||||||
("args", settings.COMPRESS_COMPASS_ARGUMENTS),
|
|
||||||
)
|
|
||||||
|
|
||||||
def input(self, *args, **kwargs):
|
|
||||||
if self.filename is None:
|
|
||||||
self.filename = kwargs.pop('filename')
|
|
||||||
if not (self.filename.lower().endswith('scss') or
|
|
||||||
self.filename.lower().endswith('sass')):
|
|
||||||
return ''
|
|
||||||
tmpdir = tempfile.mkdtemp()
|
|
||||||
parentdir = path.abspath(path.dirname(self.filename))
|
|
||||||
self.cwd = path.dirname(parentdir)
|
|
||||||
self.infile = open(self.filename)
|
|
||||||
outfile_name = path.splitext(path.split(self.filename)[1])[0] + '.css'
|
|
||||||
self.options += (
|
|
||||||
('infile', self.filename),
|
|
||||||
('tmpdir', tmpdir),
|
|
||||||
('sassdir', parentdir),
|
|
||||||
('outfile', path.join(tmpdir, outfile_name)),
|
|
||||||
('imagesdir', settings.COMPRESS_COMPASS_IMAGES_DIR),
|
|
||||||
)
|
|
||||||
for plugin in settings.COMPRESS_COMPASS_PLUGINS:
|
|
||||||
self.command += ' --require %s' % plugin
|
|
||||||
self.command += (' --sass-dir {sassdir} --css-dir {tmpdir}'
|
|
||||||
' --images-dir {imagesdir} {infile}')
|
|
||||||
return super(CompassFilter, self).input(*args, **kwargs)
|
|
||||||
@@ -102,26 +102,9 @@ A filter that passes the CSS content to the `YUI compressor`_.
|
|||||||
A filter that uses Zachary Voase's Python port of the YUI CSS compression
|
A filter that uses Zachary Voase's Python port of the YUI CSS compression
|
||||||
algorithm cssmin_.
|
algorithm cssmin_.
|
||||||
|
|
||||||
``compressor.filters.compass.CompassFilter``
|
|
||||||
""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
|
|
||||||
A filter that runs Compass_'s compile command. **(BETA)**
|
|
||||||
|
|
||||||
- ``COMPRESS_COMPASS_BINARY`` -- The compass CLI tool filesystem path.
|
|
||||||
|
|
||||||
- ``COMPRESS_COMPASS_ARGUMENTS`` -- The arguments passed to the compass CLI tool.
|
|
||||||
|
|
||||||
- ``COMPRESS_COMPASS_PLUGINS`` -- A list of plugins names that are passed to
|
|
||||||
compass' require option e.g. ``['my_plugin']`` leads to passing
|
|
||||||
``--require my_plugin``.
|
|
||||||
|
|
||||||
- ``COMPRESS_COMPASS_IMAGES_DIR`` -- The directory where you keep your images,
|
|
||||||
pass as ``--images-dir`` to the compass compiler. Defaults to ``'images/'``.
|
|
||||||
|
|
||||||
.. _CSSTidy: http://csstidy.sourceforge.net/
|
.. _CSSTidy: http://csstidy.sourceforge.net/
|
||||||
.. _`data: URIs`: http://en.wikipedia.org/wiki/Data_URI_scheme
|
.. _`data: URIs`: http://en.wikipedia.org/wiki/Data_URI_scheme
|
||||||
.. _cssmin: http://pypi.python.org/pypi/cssmin/
|
.. _cssmin: http://pypi.python.org/pypi/cssmin/
|
||||||
.. _Compass: http://compass-style.org/
|
|
||||||
|
|
||||||
|
|
||||||
COMPRESS_JS_FILTERS
|
COMPRESS_JS_FILTERS
|
||||||
|
|||||||
@@ -33,43 +33,6 @@ CssTidyTestCase = skipIf(
|
|||||||
)(CssTidyTestCase)
|
)(CssTidyTestCase)
|
||||||
|
|
||||||
|
|
||||||
class CompassTestCase(TestCase):
|
|
||||||
|
|
||||||
def setUp(self):
|
|
||||||
self.old_debug = settings.DEBUG
|
|
||||||
self.old_compress_css_filters = settings.COMPRESS_CSS_FILTERS
|
|
||||||
self.old_compress_url = settings.COMPRESS_URL
|
|
||||||
self.old_enabled = settings.COMPRESS_ENABLED
|
|
||||||
settings.DEBUG = True
|
|
||||||
settings.COMPRESS_ENABLED = True
|
|
||||||
settings.COMPRESS_CSS_FILTERS = [
|
|
||||||
'compressor.filters.compass.CompassFilter',
|
|
||||||
'compressor.filters.css_default.CssAbsoluteFilter',
|
|
||||||
]
|
|
||||||
settings.COMPRESS_URL = '/media/'
|
|
||||||
|
|
||||||
def tearDown(self):
|
|
||||||
settings.DEBUG = self.old_debug
|
|
||||||
settings.COMPRESS_URL = self.old_compress_url
|
|
||||||
settings.COMPRESS_ENABLED = self.old_enabled
|
|
||||||
settings.COMPRESS_CSS_FILTERS = self.old_compress_css_filters
|
|
||||||
|
|
||||||
def test_compass(self):
|
|
||||||
template = u"""{% load compress %}{% compress css %}
|
|
||||||
<link rel="stylesheet" href="{{ MEDIA_URL }}sass/screen.scss" type="text/css">
|
|
||||||
<link rel="stylesheet" href="{{ MEDIA_URL }}sass/print.scss" type="text/css">
|
|
||||||
{% endcompress %}
|
|
||||||
"""
|
|
||||||
context = {'MEDIA_URL': settings.COMPRESS_URL}
|
|
||||||
out = css_tag("/media/CACHE/css/8ff1cfd8787d.css")
|
|
||||||
self.assertEqual(out, render(template, context))
|
|
||||||
|
|
||||||
CompassTestCase = skipIf(
|
|
||||||
find_command(settings.COMPRESS_COMPASS_BINARY) is None,
|
|
||||||
'Compass binary %r not found' % settings.COMPRESS_COMPASS_BINARY
|
|
||||||
)(CompassTestCase)
|
|
||||||
|
|
||||||
|
|
||||||
class PrecompilerTestCase(TestCase):
|
class PrecompilerTestCase(TestCase):
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
|
|||||||
Reference in New Issue
Block a user