try:
    from functools import wraps
except ImportError:
    from django.utils.functional import wraps  # Python 2.3, 2.4 fallback.

from django.middleware.gzip import GZipMiddleware

gzip_middleware = GZipMiddleware()

def gzip_compress(func):
    """
    Gzip compress an individual view rather than requiring the whole site to
    use the Gzip middleware.
    """
    @wraps(func)
    def dec(request, *args, **kwargs):
        response = func(request, *args, **kwargs)
        return gzip_middleware.process_response(request, response)
    return dec
