#!/usr/bin/env python3 """ MASS VISUAL ANALYSIS & RENAME - VSE SLIKE V PROJEKTU Sistem za sistematično preimenovanje VSEH slik glede na vizualno vsebino """ import os import json from pathlib import Path from collections import defaultdict PROJECT_ROOT = Path("/Users/davidkotnik/repos/novafarma") def collect_all_images(): """Zbere vse slike v projektu""" images = [] # Ekstenzije extensions = ['.png', '.jpg', '.jpeg'] # Išči vse slike for ext in extensions: for img in PROJECT_ROOT.rglob(f"*{ext}"): # Preskoči node_modules, .git, backups path_str = str(img) if any(skip in path_str for skip in ['node_modules', '.git', 'gcloud auth']): continue images.append(img) return images def organize_by_folder(images): """Organizira slike po mapah""" by_folder = defaultdict(list) for img in images: folder = img.parent.relative_to(PROJECT_ROOT) by_folder[str(folder)].append(img) return dict(by_folder) def generate_inventory(): """Generira inventory vseh slik""" print("🔍 ZBIRAM VSE SLIKE V PROJEKTU...") images = collect_all_images() print(f"✅ NAJDENIH: {len(images)} slik") print("\n📂 ORGANIZIRAM PO MAPAH...") by_folder = organize_by_folder(images) print(f"✅ MAPE: {len(by_folder)}") # Kreiraj inventory inventory = { 'total_images': len(images), 'total_folders': len(by_folder), 'folders': {} } for folder, imgs in sorted(by_folder.items()): inventory['folders'][folder] = { 'count': len(imgs), 'images': [img.name for img in sorted(imgs)] } # Shrani inventory inventory_file = PROJECT_ROOT / "image_inventory.json" with open(inventory_file, 'w', encoding='utf-8') as f: json.dump(inventory, f, indent=2, ensure_ascii=False) print(f"\n✅ INVENTORY SHRANJEN: image_inventory.json") # Izpiši preview print("\n" + "=" * 80) print("📊 TOP 20 MAP PO ŠTEVILU SLIK:") print("=" * 80) sorted_folders = sorted(by_folder.items(), key=lambda x: len(x[1]), reverse=True) for i, (folder, imgs) in enumerate(sorted_folders[:20], 1): print(f"{i:2d}. {folder:60s} → {len(imgs):4d} slik") print("\n" + "=" * 80) print(f"SKUPAJ: {len(images)} slik v {len(by_folder)} mapah") print("=" * 80) return inventory if __name__ == "__main__": inventory = generate_inventory() print("\n📝 NASLEDNJI KORAK:") print(" 1. Preglej image_inventory.json") print(" 2. Za vsako mapo bom vizualno analiziral slike") print(" 3. Preimenoval bom vse v preprosta slovenska imena") print("\n⏳ To bo trajalo - mas 9000+ slik!")