Removed CompassFilter again due to the orthogonal behavior of its CLI. Use django-compass instead.

This commit is contained in:
Jannis Leidel
2011-08-12 11:42:44 +02:00
parent 10ecc0e124
commit 151e75d965
4 changed files with 0 additions and 102 deletions

View File

@@ -40,11 +40,6 @@ class CompressorSettings(AppSettings):
YUI_JS_ARGUMENTS = ''
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
CACHE_BACKEND = None
# 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.")
return value
def configure_compass_images_dir(self, value):
return self.configure_url(value)
settings = CompressorSettings(prefix="COMPRESS")

View File

@@ -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)

View File

@@ -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
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/
.. _`data: URIs`: http://en.wikipedia.org/wiki/Data_URI_scheme
.. _cssmin: http://pypi.python.org/pypi/cssmin/
.. _Compass: http://compass-style.org/
COMPRESS_JS_FILTERS

View File

@@ -33,43 +33,6 @@ CssTidyTestCase = skipIf(
)(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):
def setUp(self):