elkserver/docker/redelk-base/redelkinstalldata/scripts/makethumbnail.py (22 lines of code) (raw):
#!/usr/bin/python3
# -*- coding: utf-8 -*-
"""
Part of Red ELK
Script to generate thumbnails of images
The output is saved next to input file as ".thumb.jpg"
Authors:
- Outflank B.V. / Marc Smeets
- Lorenzo Bernardi (@fastlorenzo)
"""
import sys
import os
import logging
from PIL import Image
logger = logging.getLogger("makethumbnail")
try:
path = sys.argv[1]
BAS_HEIGHT = 300
for root, dirs, files in os.walk(path):
for file in files:
if file.endswith(".jpg") and not file.endswith("thumb.jpg"):
file_in = os.path.join(root, file)
file_out = f"{file_in}.thumb.jpg"
if not os.path.exists(file_out):
img = Image.open(file_in)
w_percent = BAS_HEIGHT / float(img.size[1])
v_size = int((float(img.size[0]) * float(w_percent)))
img = img.resize((v_size, BAS_HEIGHT), Image.ANTIALIAS)
img.save(file_out)
# pylint: disable=broad-except
except Exception as error:
error = sys.exc_info()[1]
logging.log("Error ", str(error))