#!/usr/bin/python
# Reduce photos in size, recursively
# Thomas Perl <thpinfo.com> 2008-01-24

import glob
import os
import stat
import Image

BIGGER_SIDE = 1024

sum = 0L
sum2 = 0L
i = 0
converted = 0
untouched = 0

for folder in glob.glob('*'):
    for file in glob.glob(folder+'/*.jpg'):
        s = os.stat(file)
        img = Image.open(file)
        if img.size[0] > BIGGER_SIDE or img.size[1] > BIGGER_SIDE:
            print 'Converting %s...' % file
            os.system('convert "%s" -resize %dx%d "%s"' % (file, BIGGER_SIDE, BIGGER_SIDE, file))
            converted += 1
        else:
            print 'Leaving %s...' % file
            untouched += 1
        del img
        print '  %d files done, old size=%dM, new size=%dM' % (i, sum/(1024*1024), sum2/(1024*1024))
        s2 = os.stat(file)

        sum += s[stat.ST_SIZE]
        sum2 += s2[stat.ST_SIZE]
        i += 1

print 'Done. Converted: %d, untouched: %d.' % (converted, untouched)

