2023-11-04 22:29:00 +00:00
|
|
|
import pyexiv2
|
|
|
|
|
|
|
|
def get_image_data(path: str):
|
2023-11-05 15:21:52 +00:00
|
|
|
print(f"Reading metadata: {path}")
|
2023-11-04 22:29:00 +00:00
|
|
|
img = pyexiv2.Image(path)
|
|
|
|
xmp = img.read_xmp()
|
|
|
|
create_date = xmp.get('Xmp.xmp.CreateDate', 'N/A')
|
|
|
|
title = xmp.get('Xmp.dc.title', 'N/A')
|
|
|
|
description = xmp.get('Xmp.dc.description', 'N/A')
|
|
|
|
tags = xmp.get('Xmp.dc.subject', 'N/A')
|
|
|
|
description_parts = description['lang="x-default"'].split('|')
|
|
|
|
main_description = description_parts[0].strip()
|
|
|
|
alt_text = description_parts[1].strip()
|
|
|
|
image_data = {
|
|
|
|
'path': path,
|
|
|
|
'create': create_date + "Z",
|
|
|
|
'title': title['lang="x-default"'],
|
|
|
|
'description': main_description,
|
|
|
|
'alt': alt_text,
|
|
|
|
'tags': tags
|
|
|
|
}
|
2023-11-05 19:26:47 +00:00
|
|
|
return image_data
|
|
|
|
|
|
|
|
def add_watermark(file_data):
|
|
|
|
## Create a new image file in the same directory as the file_data['path'] and return
|
|
|
|
## a new file_data dictionary with the new image in place of file_data['path']
|
|
|
|
return file_data
|