From a938560f5193d8362a81dae93754fa62d6d1b4cd Mon Sep 17 00:00:00 2001 From: "(Tim) Efthimis Kritikos" Date: Tue, 27 May 2025 18:34:00 +0100 Subject: [PATCH] Code as generated by OpenAI chatgpt --- metadata_writer.py | 55 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100755 metadata_writer.py diff --git a/metadata_writer.py b/metadata_writer.py new file mode 100755 index 0000000..322a4ef --- /dev/null +++ b/metadata_writer.py @@ -0,0 +1,55 @@ +import sys +import json +import tkinter as tk +from tkinter import messagebox +from PIL import Image, ImageTk + +def main(image_path): + def save_and_exit(): + title = title_entry.get() + description = description_entry.get() + data = { + "title": title, + "description": description + } + + with open("output.json", "w") as f: + json.dump(data, f, indent=4) + + root.destroy() + + # GUI setup + root = tk.Tk() + root.title("Image Metadata Entry") + + # Load and display image + img = Image.open(image_path) + img.thumbnail((400, 400)) # Resize for display + photo = ImageTk.PhotoImage(img) + + img_label = tk.Label(root, image=photo) + img_label.image = photo # keep a reference + img_label.pack(pady=10) + + # Input fields + tk.Label(root, text="Title:").pack() + title_entry = tk.Entry(root, width=50) + title_entry.pack(pady=5) + + tk.Label(root, text="Description:").pack() + description_entry = tk.Entry(root, width=50) + description_entry.pack(pady=5) + + # Save button + save_button = tk.Button(root, text="Save and Exit", command=save_and_exit) + save_button.pack(pady=10) + + root.mainloop() + +if __name__ == "__main__": + if len(sys.argv) < 2: + print("Usage: python script.py path_to_image") + sys.exit(1) + + image_path = sys.argv[1] + main(image_path)