toolkit / yiffdata
k4d3's picture
eh..
5763280
raw
history blame
1.69 kB
#!/usr/bin/env python
import os
import json
from PIL import Image
def get_image_info(image_path):
with Image.open(image_path) as img:
width, height = img.size
return width, height
def process_directory(directory):
for root, _, files in os.walk(directory):
for file in files:
if file.lower().endswith(('.png', '.jpg', '.jpeg', '.gif', '.bmp')):
image_path = os.path.join(root, file)
width, height = get_image_info(image_path)
base_name, ext = os.path.splitext(file)
blurhash_file = os.path.join(root, f"{base_name}{ext}.bh")
caption_file = os.path.join(root, f"{base_name}.caption")
blurhash = None
caption = None
if os.path.exists(blurhash_file):
with open(blurhash_file, 'r') as bh_file:
blurhash = bh_file.read().strip()
if os.path.exists(caption_file):
with open(caption_file, 'r') as cap_file:
caption = cap_file.read().strip()
json_data = {
"filename": file,
"width": width,
"height": height,
"blurhash": blurhash,
"caption": caption
}
json_file = os.path.join(root, f"{base_name}{ext}.json")
with open(json_file, 'w') as jf:
json.dump(json_data, jf, indent=4)
if __name__ == "__main__":
process_directory(os.getcwd())