#!/usr/bin/env python

import os,traceback,sys



def optimizeImages(directory):
	"run optipng pngout on all png files located in a directory recursively"
	path = os.path.normpath(directory)
	if not os.path.isdir(path):
		raise Error, "Directory %s not found" % path
	os.chdir(path)
	files = os.listdir(path)
	for file in files:
		if(os.path.isdir(path+"/"+file) and not os.path.islink(path+"/"+file)):
			try:
				optimizeImages(path+"/"+file)
				os.chdir(path)
			except:
				traceback.print_exc()
		else:
			try:
				if(file.split(".")[-1] == 'png'):
					print "optipnging" + path + '/'+ file
					os.spawnlp(os.P_WAIT, 'optipng','optipng','-o7','-q',file)
					print "pngouting" + path + '/'+file
					os.spawnlp(os.P_WAIT,'pngout','pngout','-q',file)
			except:
				traceback.print_exc()
				
				
		
			
optimizeImages(os.getcwd())
sys.exit(0)

