#########################################
## Camron Blackburn
## Center for Bit and Atoms
## Nov 2019 HMTAA
#########################################

import argparse
import os

def get_args():
    parser = argparse.ArgumentParser(description="reformat images in given directory - NOTE this overwrites existing images")
    parser.add_argument("dir", help="directory with images to compress/scale")
    return parser.parse_args()

def main(img_dir):
    if not os.path.exists(img_dir):
        print("directory does not exist!")
        return

    for root, dirs, files in os.walk(img_dir):
        for f in files:
            base, ext = os.path.splitext(f)
            if ext in [".jpg", ".png", ".jpeg", ".tiff"]:
                in_file = os.path.join(root, f)
                print("scaling and overwriting %s" % in_file)
                out_file = os.path.join(root, base+".jpg")
                ffmpeg_cmd = 'ffmpeg -y -i %s -compression_level 100 -vf "scale=950:600:force_original_aspect_ratio=decrease,pad=950:600:(ow-iw)/2:(oh-ih)/2:color=white" %s' % (in_file, out_file)
                print("RUN COMMAND: ", ffmpeg_cmd)
                os.system(ffmpeg_cmd)
    return 
    

if __name__ == "__main__":
    args = get_args()
    img_dir = args.dir

    main(img_dir)

