def __init__(self, **kwargs): super(OptimiseGIF, self).__init__(**kwargs) # the command to execute this optimiser self.commands = ( 'convert "__INPUT__" png:"__OUTPUT__"', 'pngnq -n 256 -o "__OUTPUT__" "__INPUT__"', 'pngcrush -rem alla -brute -reduce "__INPUT__" "__OUTPUT__"') # variable so we can easily determine whether a gif is animated or not self.animated_gif_optimiser = OptimiseAnimatedGIF() self.converted_to_png = False self.is_animated = False # format as returned by 'identify' self.format = "GIF"
def __init__(self, **kwargs): self.optimisers = { 'PNG': OptimisePNG(**kwargs), 'JPEG': OptimiseJPG(**kwargs), 'GIF': OptimiseGIF(**kwargs), 'GIFGIF': OptimiseAnimatedGIF(**kwargs) } self.__files_scanned = 0 self.__start_time = time.time() self.exclude = {} for dir in kwargs.get('exclude'): if len(dir) == 0: continue self.exclude[dir] = True self.quiet = kwargs.get('quiet') self.identify_mime = kwargs.get('identify_mime') # setup tempfile for stdout and stderr self.stdout = Scratch() self.stderr = Scratch()