🧹 Massive Asset Reorganization: Cleaned filenames, removed duplicates, and sorted into UI/Items/Env/Chars/Animals folders.
This commit is contained in:
53
scripts/cleanup_filenames.py
Normal file
53
scripts/cleanup_filenames.py
Normal file
@@ -0,0 +1,53 @@
|
||||
import os
|
||||
import re
|
||||
import shutil
|
||||
|
||||
TARGET_DIR = os.path.abspath("assets/slike/glavna_referenca")
|
||||
|
||||
def clean_filenames():
|
||||
print("🧹 Cleaning filenames in glavna_referenca (removing timestamps)...")
|
||||
|
||||
count = 0
|
||||
for filename in os.listdir(TARGET_DIR):
|
||||
if filename.startswith("."): continue
|
||||
if os.path.isdir(os.path.join(TARGET_DIR, filename)): continue
|
||||
|
||||
# Regex to find "_176xxxxxxxxx" pattern (timestamp) and trailing numbers
|
||||
# Pattern: look for "_17" followed by digits, possibly followed by "_1" etc.
|
||||
# Example: sink_1767540048311_1.png -> sink.png
|
||||
|
||||
name, ext = os.path.splitext(filename)
|
||||
|
||||
# 1. Remove timestamp (long number starting with 176 or 177)
|
||||
new_name = re.sub(r'_17[67]\d{7,}', '', name)
|
||||
|
||||
# 2. Remove trailing "_1", "_2", "_nobg" if desired, but let's keep variants if meaningful.
|
||||
# Let's just remove trailing "_1" leftovers from copies
|
||||
new_name = re.sub(r'_\d+$', '', new_name)
|
||||
|
||||
# 3. Handle "MOJE_SLIKE_KONCNA_ostalo_" garbage prefix
|
||||
new_name = new_name.replace("MOJE_SLIKE_KONCNA_ostalo_", "")
|
||||
new_name = new_name.replace("src_assets_library_godot_sprites_source_", "")
|
||||
|
||||
if new_name != name:
|
||||
new_filename = new_name + ext
|
||||
src = os.path.join(TARGET_DIR, filename)
|
||||
dst = os.path.join(TARGET_DIR, new_filename)
|
||||
|
||||
# Avoid overwriting if simplified name exists (append counter)
|
||||
if os.path.exists(dst):
|
||||
# Keep the one we are renaming as a variant? Or overwrite?
|
||||
# Safety: Counter
|
||||
c = 1
|
||||
while os.path.exists(os.path.join(TARGET_DIR, f"{new_name}_{c}{ext}")):
|
||||
c+=1
|
||||
dst = os.path.join(TARGET_DIR, f"{new_name}_{c}{ext}")
|
||||
|
||||
os.rename(src, dst)
|
||||
count += 1
|
||||
# print(f" RENAME: {filename} -> {os.path.basename(dst)}")
|
||||
|
||||
print(f"✨ Cleaned {count} filenames!")
|
||||
|
||||
if __name__ == "__main__":
|
||||
clean_filenames()
|
||||
Reference in New Issue
Block a user