#!/usr/bin/env/python3

import subprocess
import os
import time

convert_dir = "/Users/ducoterra/Desktop/"
debug = False

while True:
    # get a list of all .mov or .gif files
    movs = list(filter(lambda item: item.endswith(".mov"), os.listdir(convert_dir)))
    if debug:
        print(f"Found {len(movs)} .mov files.")
    gifs = list(filter(lambda item: item.endswith(".gif"), os.listdir(convert_dir)))
    if debug:
        print(f"Found {len(gifs)} .gif files.")

    # find files that are not already gifs and aren't default
    not_done = list(filter(lambda mov: mov.replace(".mov",".gif") not in gifs and not mov.startswith("Screen Recording"), movs))
    if debug:
        print(f"Found {len(not_done)} to convert.")

    for mov in not_done:
        print(f"converting {mov}. Ctrl + C to stop...")
        if debug:
            time.sleep(5)
        subprocess.run(['/usr/local/bin/ffmpeg', '-i', convert_dir + mov, '-filter:v', 'setpts=0.5*PTS', convert_dir + mov.replace(".mov",".gif")], capture_output=True)

    time.sleep(1)