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()