from PIL import Image
from sys import argv, exit
import datetime
import os
import socket
import pathlib

hostname = socket.gethostname()
pathRoot = os.path.sep
pathRoot = os.path.join(pathRoot, 'var', 'www', 'html')

pathThumb = os.path.join(pathRoot, 'agronet', 'resources', 'imagens', 'thumbnail', 'previa')

def log(message):
    pathLogs = os.path.join(pathRoot, 'agronet', 'rotinas', 'logs', 'thumbnailPrevia')
    if not os.path.isdir(pathLogs):
        pathlib.Path(pathLogs).mkdir(parents=True, exist_ok=True)

    now = datetime.datetime.now()
    year = now.year
    month = now.month
    day = now.day
    hours = '{:02d}{:02d}{:02d}'.format(now.hour, now.minute, now.second)
    dateAsString = '{}{}{:02d}'.format(year, month, day)
    file = open(os.path.join(pathLogs, '{date}.log').format(date=dateAsString), 'a+')

    file.write("{date}{hours}: {message}\n".format(date=dateAsString, hours=hours, message=message))

pathRoot = os.path.join(pathRoot, 'application', 'upload_files', 'laudoprevia')
if not os.path.isdir(pathThumb):
    pathlib.Path(pathThumb).mkdir(parents=True, exist_ok=True)

files = os.listdir(pathRoot)

for filename in files:
    file, ext = os.path.splitext(filename)
    if ext.lower() in ['.jpg', '.png', '.jpeg']:
        filenameThumb = os.path.join(pathThumb, file + "_thumb" + ext)
        filename = os.path.join(pathRoot, filename)

        if not os.path.isfile(filenameThumb):
            try:
                im = Image.open(filename)
                im.thumbnail((100, 70))
                im.save(filenameThumb)
            except Exception as e:
                log(str(e))


            if os.path.isfile(filenameThumb):
                log("Thumbnail gerado com sucesso! ({name})".format(name=file + "_thumb" + ext))