# Path: gears/compressors/base.py
# class BaseCompressor(BaseAssetHandler):
#     """Base class for all asset compressors. Subclass's :meth:`__call__` method
#     must return compressed :attr:`~gears.assets.Asset.bundled_source` attribute.
#     """
# 
# Path: gears/exceptions.py
# class ImproperlyConfigured(Exception):
#     pass


    from cssmin import cssmin
from .base import BaseCompressor
from ..exceptions import ImproperlyConfigured
from __future__ import absolute_import

try:
    cssmin_available = True
except ImportError:
    cssmin_available = False



class CSSMinCompressor(BaseCompressor):

    def __init__(self):
        if not cssmin_available:
            raise ImproperlyConfigured('cssmin is not available')


# Path: gears/compressors/base.py
# class BaseCompressor(BaseAssetHandler):
#     """Base class for all asset compressors. Subclass's :meth:`__call__` method
#     must return compressed :attr:`~gears.assets.Asset.bundled_source` attribute.
#     """
# 
# Path: gears/exceptions.py
# class ImproperlyConfigured(Exception):
#     pass


# Path: gears/compressors/cssmin.py
    from cssmin import cssmin
from .base import BaseCompressor
from ..exceptions import ImproperlyConfigured

from __future__ import absolute_import

try:
    cssmin_available = True
except ImportError:
    cssmin_available = False



class CSSMinCompressor(BaseCompressor):

    def __init__(self):
        if not cssmin_available:
            raise ImproperlyConfigured('cssmin is not available')


    def __call__(self, asset):