Files
Skripte/sort_media.py

48 lines
1.7 KiB
Python

import os
import shutil
from datetime import datetime
import ollama
def get_earliest_time(file_path):
"""Get the earliest of creation or last modified time."""
stat = os.stat(file_path)
return min(stat.st_ctime, stat.st_mtime)
def sort_media(directory):
"""Sort media files into folders by their earliest time."""
if not os.path.exists(directory):
print(f"Directory {directory} does not exist.")
return
for filename in os.listdir(directory):
file_path = os.path.join(directory, filename)
if os.path.isfile(file_path):
earliest_time = get_earliest_time(file_path)
date_folder = datetime.fromtimestamp(earliest_time).strftime('%Y-%m-%d')
target_folder = os.path.join(directory, date_folder)
if not os.path.exists(target_folder):
os.makedirs(target_folder)
shutil.move(file_path, os.path.join(target_folder, filename))
def compare_images_with_ollama(directory):
"""Compare images using Ollama."""
# Initialize the Ollama model
model = 'llava-llama3:8b'
for root, _, files in os.walk(directory):
for file in files:
if file.lower().endswith(('.png', '.jpg', '.jpeg')):
file_path = os.path.join(root, file)
# Use Ollama to compare images
response = ollama.chat(model=model, messages=[
{'role': 'user', 'content': f'Compare image: {file_path}'},
])
print(f"Comparison result for {file}: {response['message']['content']}")
if __name__ == "__main__":
directory = input("Enter the directory path to sort and compare media: ")
sort_media(directory)
compare_images_with_ollama(directory)