Spaces:
Sleeping
Sleeping
File size: 1,271 Bytes
d581b00 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | import os
from PIL import Image
from PIL.ExifTags import TAGS
def get_metadata(image_path: str) -> dict:
result = {}
# Basic file info
result["filename"] = os.path.basename(image_path)
result["file_size_kb"] = round(os.path.getsize(image_path) / 1024, 2)
# Image info
with Image.open(image_path) as img:
result["format"] = img.format
result["mode"] = img.mode
result["dimensions"] = f"{img.width} x {img.height}"
# EXIF data
exif_data = img._getexif()
if exif_data:
exif = {}
for tag_id, value in exif_data.items():
tag = TAGS.get(tag_id, tag_id)
exif[tag] = str(value)
result["exif"] = exif
result["has_exif"] = True
else:
result["exif"] = {}
result["has_exif"] = False
if not result["has_exif"]:
result["exif_note"] = "No EXIF data found. AI-generated images often lack EXIF metadata."
return result
if __name__ == "__main__":
import sys
if len(sys.argv) < 2:
print("Usage: python src/services/metadata_checker.py <image_path>")
else:
meta = get_metadata(sys.argv[1])
for k, v in meta.items():
print(f"{k}: {v}") |