import os
import time
import win32print
import win32api

# specify the directory
dir_path = r'C:\Users\sebis\Desktop\Animes\facturi2'

# specify the printer name
printer_name = win32print.GetDefaultPrinter()

def print_newest_file():
    # find the newest file in the directory
    newest_file = max([os.path.join(dir_path, f) for f in os.listdir(dir_path)], key=os.path.getctime)

    # print the file using win32print
    win32api.ShellExecute(0, "print", newest_file, '/d:"%s"' % printer_name, ".", 0)

def watch_folder():
    # store the initial state of the directory
    before = dict([(f, None) for f in os.listdir(dir_path)])

    while True:
        time.sleep(5)  # wait for 5 seconds
        after = dict([(f, None) for f in os.listdir(dir_path)])
        added = [f for f in after if f not in before]

        if added:
            print("New file added:", ", ".join(added))
            print_newest_file()

        before = after

watch_folder()
