Files
novafarma/generate_image_inventory.py
David Kotnik 0c9475829c 🎨 MASS RENAME: 13,360 slik preimenovanih v slovenščino
MAJOR UPDATE: Sistematično preimenovanje vseh slik v projektu

STATISTIKA:
- Skupaj slik: 18,154
- Preimenovanih: 13,360 (73.5%)
- Preskočenih: 1,917
- Napak: 0

SPREMEMBE:
- Angleška imena → Slovenska imena
- Odstranjeni timestamp številke
- Ohranjena vsa ozadja in barve
- Logična kratka imena

PRIMERI:
- apple_tree_mature_spring → jablana_drevo_zrelo_pomlad
- zombie_statistician_idle → zombi_statistik_mirovanje
- health_icon → zdravje_ikona

NOVI SKRIPI:
- generate_image_inventory.py
- smart_mass_rename.py
- execute_rename.py

DOKUMENTACIJA:
- SESSION_DNEVNIK_22_23_JAN_2026_MASS_RENAME.md
- MRTVA_DOLINA_PREZENTACIJA.md (bonus)
- image_inventory.json (18k slik)

Trajanje: 13.5 ur - Status: SUCCESS
2026-01-23 05:38:41 +01:00

97 lines
2.8 KiB
Python

#!/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!")