def resize_images(self,image_list,max_processes,percent_reduction): def resize_list(image_file,percent_reduction): jpg_file = re.sub('\.\w+$','.jpg',image_file) cmd = "convert -resize %(percent_reduction)d%% %(image_file)s %(jpg_file)s" % locals() print cmd process = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) result = process.communicate() print result[0],result[1] params = [] # Prepare parameter tuples for f in image_list: extension = re.search('\.(\w+)$',f).group(1).lower() guessed_type = mime.from_file(f) if extension not in guessed_type: logging.error("Mime type doesn't match it's extension: type: %s, file %s, aborting" %\ (guessed_type,f)) else: params.append((f,percent_reduction)) # Runs N concurrent processes based on config. m = MultiprocessMgmt(resize_list,params,max_processes) m.run()
def convert_pdfs_to_images(self,pdf_file_list,max_processes,percent_reduction,density): def convert_list(pdf_file,density,percent_reduction): jpg_file = re.sub('\.[pP][dD][fF]$','_%d_%%04d.jpg' % percent_reduction,pdf_file) cmd = "convert -density %(density)d -resize %(percent_reduction)d%% %(pdf_file)s " % locals() + jpg_file print cmd process = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) result = process.communicate() print result[0],result[1] params = [] # Prepare parameter tuples for f in pdf_file_list: guessed_type = mime.from_file(f) if guessed_type != 'application/pdf': logging.error("Mime type doesn't match it's extension: type: %s, file %s, aborting" %\ (guessed_type,f)) else: params.append((f,density,percent_reduction)) # Runs N concurrent processes based on config. m = MultiprocessMgmt(convert_list,params,max_processes) m.run()