Files
novafarma/scripts/utils/rename_all_images.py
2026-01-25 12:20:50 +01:00

103 lines
4.7 KiB
Python

#!/usr/bin/env python3
"""
SISTEMSKO PREIMENOVANJE VSEH SLIK V PROJEKTU
Analizira vsako sliko, določi vsebino in jo preimenuje v slovenščini
"""
import os
import shutil
from pathlib import Path
# Bazirajmo se na vizualni analizi, ki sem jo že naredil
RENAME_MAP = {
# _TRASH_SAMPLES (testni vzorci - pustimo kot so)
"_TRASH_SAMPLES/sample_1.png": "testni_graf_ai_voice.png",
"_TRASH_SAMPLES/sample_2.jpg": "gepard_odrasel.jpg",
"_TRASH_SAMPLES/sample_3.jpg": "gepard_mladic.jpg",
"_TRASH_SAMPLES/sample_4.png": "ikona_shrani.png",
"_TRASH_SAMPLES/sample_5.png": "ikona_shrani_2.png",
# NOVE_SLIKE/UI - UI elementi
"NOVE_SLIKE/UI/amnezija_maska.png": "ui_amnezija_vinjeta_kockasta.png", # IMA KOCKASTO OZADJE - POTREBNA POPRAVKA
"NOVE_SLIKE/UI/amnezia.png": "ui_amnezija_vinjeta.png",
"NOVE_SLIKE/UI/merilec_zdravja.png": "ui_merilec_zdravja.png",
"NOVE_SLIKE/UI/okvir_zarjavel.png": "ui_okvir_zarjavel_bodeca_zica.png",
"NOVE_SLIKE/UI/zlati_okvir.png": "ui_okvir_zlati_okrasni.png",
"NOVE_SLIKE/UI/srce_health.png": "ui_srce_pixel_art.png",
"NOVE_SLIKE/UI/gumb_glavni.png": "ui_gumb_play_lesen_zlat.png", # IMA KOCKASTO OZADJE
"NOVE_SLIKE/UI/gumb_recikliran.png": "ui_gumb_start_zarjavel_zlat.png", # IMA KOCKASTO OZADJE
# INTRO_STORY_IMAGES - slikice zgodbe
"INTRO_STORY_IMAGES/01_Sreca:/download.jpg": "druzina_chibi_spraniintrodba.jpg",
"INTRO_STORY_IMAGES/01_Sreca:/ana_barbershop_dreads_dreamy.png": "ana_frizerstvo_ogledalo_sanjavska.png",
"INTRO_STORY_IMAGES/01_Sreca:/assets_BACKUP_20260112_064319_references_intro_shots_birthday_cake_rd.png": "rojstnodnevna_torta_vrt_sonce.png",
"INTRO_STORY_IMAGES/01_Sreca:/assets_BACKUP_20260112_064319_references_intro_shots_ana_barbershop_dreads.png": "ana_frizerstvo_o glad edalo.png",
"INTRO_STORY_IMAGES/01_Sreca:/assets_images_intro_sequence_kai_first_dreads_family_dreamy.png": "druzina_chibi_spraniav_sanjavska.png",
"INTRO_STORY_IMAGES/02_Kaos:/assets_BACKUP_20260112_064319_references_intro_shots_virus_xnoir_microscope.png": "virus_xnoir_mikroskop_zeleni.png",
"INTRO_STORY_IMAGES/03_Locitev:/assets_BACKUP_20260112_064319_references_intro_shots_parents_transparent_ghosts.png": "starsa_duha_chibi_apokalipsa.png",
"INTRO_STORY_IMAGES/04_Amnesia:/assets_BACKUP_20260112_064319_references_intro_shots_kai_alone_basement.png": "kai_sam_klet_prezivetje.png",
# assets/characters
"assets/characters/gronk_pro_sheet.png": "gronk_cevlji_rozni_animacija.png",
"assets/characters/zombie_statistician/portrait.png": "zombie_statistik_portret_zeleno_ozadje.png", # ZELENO OZADJE - POTREBNA POPRAVKA
"assets/characters/electrician/portrait.png": "elektricar_portret_zeleno_ozadje.png", # ZELENO OZADJE - POTREBNA POPRAVKA
# KLJUČNE SLIKE iz nova mapa faza 0-1
"assets/slike/nova mapa faza 0-1/Environment/narava/mrtvo_drevo_nazobcano.png": "mrtvo_drevo_nazobcano_temno.png",
"assets/slike/nova mapa faza 0-1/Environment/narava/kamnita_piramida.png": "kamnita_piramida_siva.png",
"assets/slike/nova mapa faza 0-1/Environment/props/MOJE_SLIKE_KONCNA_ostalo_campfire_frame1.png": "taborisc_ogenj_animacija_1.png",
"assets/slike/nova mapa faza 0-1/Characters/kaj/Izdelek brez naslova (2).png": "kai_portret_zeleni_dreadi.png",
}
def main():
"""Izvede preimenovanje vseh slik"""
project_root = Path("/Users/davidkotnik/repos/novafarma")
renamed_count = 0
errors = []
print("=" * 80)
print("SISTEMATIČNO PREIMENOVANJE VSEH SLIK V PROJEKTU")
print("=" * 80)
print()
for old_path_rel, new_name in RENAME_MAP.items():
old_path = project_root / old_path_rel
if not old_path.exists():
errors.append(f"❌ NE NAJDEM: {old_path_rel}")
continue
# Ohranjamo mapo, samo ime datoteke spreminjamo
new_path = old_path.parent / new_name
try:
# Preveri, če nova datoteka že obstaja
if new_path.exists() and new_path != old_path:
errors.append(f"⚠️ OBSTAJA: {new_name} (preskakujem)")
continue
# Preimenuj
old_path.rename(new_path)
print(f"{old_path.name}")
print(f"{new_name}")
print()
renamed_count += 1
except Exception as e:
errors.append(f"❌ NAPAKA pri {old_path_rel}: {e}")
print("=" * 80)
print(f"PREIMENOVANIH: {renamed_count} / {len(RENAME_MAP)}")
print("=" * 80)
if errors:
print("\n⚠️ NAPAKE/OPOZORILA:")
for error in errors:
print(f" {error}")
if __name__ == "__main__":
main()