import os import shutil import re TARGET = "assets/slike/glavna_referenca" RULES = [ # Animals (r"(rabbit|sheep|cow|pig|bear|wolf|dog|cat|goat|llama|deer|ant|insect|zival|animal|zajec|ovca|krava|pes|macka)", "Zivali"), # Buildings / Houses (r"(house|building|wall|ruin|barn|farm|church|tower|shop|store|zgradba|hisa|hiša)", "Zgradbe"), # NPCs / Characters (r"(kai|ana|gronk|npc|man|woman|boy|girl|farmer|merchant|priest|character|oseba)", "NPCs"), # Creatures / Zombies (r"(zombie|undead|monster|boss|kreatura|zombi)", "Kreature"), # Plants (Usually important) (r"(tree|bush|flower|plant|crop|rastlina|drevo)", "Rastline"), # Items (Optional based on 'itd') (r"(item|tool|weapon|food|predmet|orodje)", "Predmeti"), # Terrain (Optional) (r"(grass|ground|water|stone|tile|teren|tla)", "Teren") ] def organize(): print(f"🚀 RE-ORGANIZING REFERENCES in {TARGET}...") if not os.path.exists(TARGET): print("❌ Target not found.") return count = 0 files = [f for f in os.listdir(TARGET) if os.path.isfile(os.path.join(TARGET, f))] for filename in files: if not filename.lower().endswith(('.png', '.jpg', '.jpeg')): continue fname_lower = filename.lower() target_sub = "Nerazvrsceno" for pattern, folder in RULES: if re.search(pattern, fname_lower): target_sub = folder break # Move dest_dir = os.path.join(TARGET, target_sub) if not os.path.exists(dest_dir): os.makedirs(dest_dir) src = os.path.join(TARGET, filename) dst = os.path.join(dest_dir, filename) try: shutil.move(src, dst) count += 1 except Exception as e: print(f"Error {filename}: {e}") print("="*40) print(f"✅ REFERENCES SORTED. Moved {count} files.") print("="*40) if __name__ == "__main__": organize()