1from __future__ import unicode_literals
2
3from pipeline.conf import settings
4from pipeline.compressors import SubProcessCompressor
5
6
7class YUICompressor(SubProcessCompressor):
8    def compress_common(self, content, compress_type, arguments):
9        command = (
10            settings.YUI_BINARY,
11            "--type={}".format(compress_type),
12            arguments
13        )
14        return self.execute_command(command, content)
15
16    def compress_js(self, js):
17        return self.compress_common(js, 'js', settings.YUI_JS_ARGUMENTS)
18
19    def compress_css(self, css):
20        return self.compress_common(css, 'css', settings.YUI_CSS_ARGUMENTS)
21