Files
novafarma/scripts/cleanup_characters.py

91 lines
2.5 KiB
Python

#!/usr/bin/env python3
"""
CLEANUP - Keep only MASTER REFERENCES for main characters
Remove all inconsistent/old character sprites
"""
from pathlib import Path
import shutil
REPO = Path("/Users/davidkotnik/repos/novafarma")
LIKI = REPO / "assets/slike/liki"
# Master reference files to KEEP (newly created, consistent)
MASTER_REFERENCES = {
"kai": [
"kai_master_styleA_reference.png",
"kai_master_styleB_reference.png"
],
"ana": [
"ana_master_styleA_reference.png",
"ana_master_styleB_reference.png"
],
"gronk": [
"gronk_master_styleA_reference.png",
"gronk_master_styleB_reference.png"
]
}
print("="*70)
print("🧹 CHARACTER CLEANUP - Keep only master references")
print("="*70)
# Create backup folder
backup_dir = REPO / "backup_old_characters"
backup_dir.mkdir(exist_ok=True)
for character, keep_files in MASTER_REFERENCES.items():
char_dir = LIKI / character
if not char_dir.exists():
print(f"\n⚠️ {character}/ not found")
continue
print(f"\n🎭 {character.upper()}")
all_files = list(char_dir.glob("*.png"))
print(f" Total files: {len(all_files)}")
# Files to delete
to_delete = []
for file in all_files:
if file.name not in keep_files:
to_delete.append(file)
print(f" Keeping: {len(keep_files)} master references")
print(f" Removing: {len(to_delete)} old/inconsistent files")
# Backup before deleting
if len(to_delete) > 0:
char_backup = backup_dir / character
char_backup.mkdir(exist_ok=True)
print(f" Backing up to: backup_old_characters/{character}/")
for file in to_delete:
# Backup
shutil.copy2(file, char_backup / file.name)
# Delete
file.unlink()
print(f" ✅ Cleaned up {len(to_delete)} files")
else:
print(f" ✅ Already clean!")
print("\n" + "="*70)
print("✅ CLEANUP COMPLETE!")
print("="*70)
print("\n📊 FINAL STATUS:")
for character in MASTER_REFERENCES.keys():
char_dir = LIKI / character
remaining = list(char_dir.glob("*.png"))
print(f" {character}: {len(remaining)} files (MASTER REFERENCES ONLY)")
print(f"\n💾 Backup location: {backup_dir}")
print(" (Can restore if needed)")
print("\n🎨 READY FOR ANIMATION GENERATION!")
print(" Each character has 2 master references (Style A & B)")
print(" All animations will be generated from these references")