import os, glob

class sizedfile(object):
    def __init__(self, name):
        self.name = name
        self.size = os.stat(name).st_size
    def __cmp__(self, other):
        return cmp(self.size, other.size)
    def __repr__(self):
        return self.name

files = glob.glob('*')
flist = []
for f in files:
    flist.append(sizedfile(f))
flist.sort()
for f in flist:
    if f.size < 100000:
        continue
    percent = 99
    while f.size > 100000:
        newname = 'smaller.' + f.name.split('.')[-1]
        command = ('convert -geometry %s' % percent) + r'%' + (' "%s" %s' % (f.name, newname))
        print command
        os.system(command)
        f.size = os.stat(newname).st_size
        print f.size
        percent -= 5
    os.system('mv %s "%s"' % (newname, f.name))
