Пример #1
0
 def execute_command(self, command, content):
     pipe = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE,
                             stdin=subprocess.PIPE, stderr=subprocess.PIPE)
     if content:
         content = smart_bytes(content)
     stdout, stderr = pipe.communicate(content)
     if stderr.strip():
         raise CompressorError(stderr)
     if self.verbose:
         print(stderr)
     return stdout
Пример #2
0
 def compress_css(self, paths, output_filename, variant=None, **kwargs):
     """Concatenate and compress CSS files"""
     css = self.concatenate_and_rewrite(paths, output_filename, variant)
     compressor = self.css_compressor
     if compressor:
         css = getattr(compressor(verbose=self.verbose), 'compress_css')(css)
     if not variant:
         return css
     elif variant == "datauri":
         return self.with_data_uri(css)
     else:
         raise CompressorError("\"{}\" is not a valid variant".format(variant))
Пример #3
0
 def execute_command(self, command, content):
     import subprocess
     pipe = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE,
                             stdin=subprocess.PIPE, stderr=subprocess.PIPE)
     if content:
         content = smart_bytes(content)
     stdout, stderr = pipe.communicate(content)
     if stderr.strip() and pipe.returncode != 0:
         raise CompressorError(stderr)
     elif self.verbose:
         print(stderr)
     return force_text(stdout)
Пример #4
0
    def execute_command(self, command, content):
        argument_list = []
        for flattening_arg in command:
            if isinstance(flattening_arg, string_types):
                argument_list.append(flattening_arg)
            else:
                argument_list.extend(flattening_arg)

        pipe = subprocess.Popen(argument_list, stdout=subprocess.PIPE,
                                stdin=subprocess.PIPE, stderr=subprocess.PIPE)
        if content:
            content = smart_bytes(content)
        stdout, stderr = pipe.communicate(content)
        if stderr.strip() and pipe.returncode != 0:
            raise CompressorError(stderr)
        elif self.verbose:
            print(stderr)
        return force_text(stdout)