60 lines
2.5 KiB
Python
60 lines
2.5 KiB
Python
import os
|
|
import shutil
|
|
|
|
BASE_DIR = os.path.abspath("assets/slike/glavna_referenca")
|
|
ENV_DIR = os.path.join(BASE_DIR, "Environment")
|
|
|
|
CATS = {
|
|
"ground": ["grass", "dirt", "path", "road", "cesta", "pot", "zemlja", "floor", "tla", "puddle", "luz?a", "swamp", "snow", "sneg", "sand", "pesek", "tile", "grate", "brick", "soil", "mud", "ash", "wasteland"],
|
|
"nature": ["tree", "drevo", "bush", "grm", "flower", "roza", "rock", "skala", "plant", "rastlina", "willow", "oak", "pine", "palm", "cactus", "forest", "gozd", "leaf", "list"],
|
|
"buildings": ["house", "hisa", "shop", "trgovina", "barn", "skedenj", "shed", "tower", "stolp", "mill", "mlin", "well", "vodnjak", "wall", "zid", "fence", "ograja", "ruin", "cabin", "clinic", "school", "museum", "shack", "church", "cerkev", "temple", "gate", "entrance", "hospital", "upgraded", "deluxe"],
|
|
"mine": ["mine", "rudnik", "ore", "ruda", "crystal", "kristal", "cave", "jama", "stalactite", "stalagmite", "track", "rail", "pillar", "steber"],
|
|
"decor": ["bench", "klop", "lamp", "luc", "lantern", "torch", "bakla", "sign", "znak", "statue", "kip", "fountain", "grave", "grob", "tomb", "spomenik", "monument", "post", "table", "chair", "scarecrow"]
|
|
}
|
|
|
|
def refine_environment():
|
|
print("🌲 Refining 'Environment' folder...")
|
|
|
|
# Create subdirs
|
|
for sub in CATS:
|
|
path = os.path.join(ENV_DIR, sub)
|
|
if not os.path.exists(path):
|
|
os.makedirs(path)
|
|
|
|
count = 0
|
|
|
|
for filename in os.listdir(ENV_DIR):
|
|
if filename.startswith("."): continue
|
|
src = os.path.join(ENV_DIR, filename)
|
|
if os.path.isdir(src): continue
|
|
|
|
lower = filename.lower()
|
|
target = None
|
|
|
|
for cat, kws in CATS.items():
|
|
if any(k in lower for k in kws):
|
|
target = cat
|
|
break
|
|
|
|
if target:
|
|
dst = os.path.join(ENV_DIR, target, filename)
|
|
# Collision
|
|
if os.path.exists(dst):
|
|
name, ext = os.path.splitext(filename)
|
|
c=1
|
|
while os.path.exists(os.path.join(ENV_DIR, target, f"{name}_{c}{ext}")):
|
|
c+=1
|
|
dst = os.path.join(ENV_DIR, target, f"{name}_{c}{ext}")
|
|
|
|
shutil.move(src, dst)
|
|
count += 1
|
|
else:
|
|
# Impostor check? Or leave loose?
|
|
# User wants: "kaj ne spada v to mapa poravilno dodaj v mapo katero pase"
|
|
pass
|
|
|
|
print(f"✨ Sorted {count} environmental assets.")
|
|
|
|
if __name__ == "__main__":
|
|
refine_environment()
|