#!/usr/bin/env python3 """ Organize crop sprites from brain directory to assets folder """ import os import shutil from pathlib import Path BRAIN_DIR = Path("/Users/davidkotnik/.gemini/antigravity/brain/eda9a368-77c1-4f9a-961e-2c9fce4e750e") ASSETS_DIR = Path("/Users/davidkotnik/repos/novafarma/assets/sprites/crops") # Crop mappings CROPS = { 'strawberry': { 'spring': ['strawberry_s1_spring', 'strawberry_s2_spring', 'strawberry_s3_spring', 'strawberry_s4_spring', 'strawberry_s5_spring', 'strawberry_s6_spring', 'strawberry_s7_spring', 'strawberry_s8_spring'], 'summer': ['strawberry_s1_summer', 'strawberry_s2_summer', 'strawberry_s3_summer', 'strawberry_s4_summer', 'strawberry_s5_summer', 'strawberry_s6_summer', 'strawberry_s7_summer', 'strawberry_s8_summer'], 'autumn': ['strawberry_autumn_1', 'strawberry_autumn_2', 'strawberry_autumn_3', 'strawberry_autumn_4', 'strawberry_autumn_5', 'strawberry_autumn_6', 'strawberry_autumn_7', 'strawberry_autumn_8'], 'winter': ['strawberry_winter_1', 'strawberry_winter_2', 'strawberry_winter_3', 'strawberry_winter_4', 'strawberry_winter_5', 'strawberry_winter_6', 'strawberry_winter_7', 'strawberry_winter_8'], }, 'onion': { 'spring': ['onion_s1_spring', 'onion_s2_spring', 'onion_s3_spring', 'onion_s4_spring', 'onion_s5_spring', 'onion_s6_spring', 'onion_s7_spring', 'onion_s8_spring_v2'], # v2 due to error retry 'summer': ['onion_summer_1', 'onion_summer_2', 'onion_summer_3', 'onion_summer_4', 'onion_summer_5', 'onion_summer_6', 'onion_summer_7', 'onion_summer_8'], 'autumn': ['onion_autumn_1', 'onion_autumn_2', 'onion_autumn_3', 'onion_autumn_4', 'onion_autumn_5', 'onion_autumn_6', 'onion_autumn_7', 'onion_autumn_8'], 'winter': ['onion_winter_1', 'onion_winter_2', 'onion_winter_3', 'onion_winter_4', 'onion_winter_5', 'onion_winter_6', 'onion_winter_7', 'onion_winter_8'], }, 'pepper': { 'spring': ['pepper_s1_spring', 'pepper_s2_spring', 'pepper_s3_spring', 'pepper_s4_spring', 'pepper_s5_spring', 'pepper_s6_spring', 'pepper_s7_spring', 'pepper_s8_spring'], 'summer': ['pepper_summer_1', 'pepper_summer_2', 'pepper_summer_3', 'pepper_summer_4', 'pepper_summer_5', 'pepper_summer_6', 'pepper_summer_7', 'pepper_summer_8'], 'autumn': ['pepper_autumn_1', 'pepper_autumn_2', 'pepper_autumn_3', 'pepper_autumn_4', 'pepper_autumn_5', 'pepper_autumn_6', 'pepper_autumn_7', 'pepper_autumn_8'], 'winter': ['pepper_winter_1', 'pepper_winter_2', 'pepper_winter_3', 'pepper_winter_4', 'pepper_winter_5', 'pepper_winter_6', 'pepper_winter_7', 'pepper_winter_8'], }, 'cannabis_indica': { 'spring': ['cannabis_indica_s1_spring', 'cannabis_indica_s2_spring', 'cannabis_indica_s3_spring', 'cannabis_indica_s4_spring', 'cannabis_indica_s5_spring'], # Only 5 generated before quota } } def organize_crops(): """Organize all crop sprites""" total_copied = 0 for crop_name, seasons in CROPS.items(): # Create crop directory crop_dir = ASSETS_DIR / crop_name crop_dir.mkdir(parents=True, exist_ok=True) print(f"\nšŸ“¦ {crop_name.upper()}:") for season, sprites in seasons.items(): for idx, sprite_prefix in enumerate(sprites, 1): # Find file with this prefix matching_files = list(BRAIN_DIR.glob(f"{sprite_prefix}_*.png")) if matching_files: source = matching_files[0] dest = crop_dir / f"{crop_name}_stage{idx}_{season}.png" shutil.copy2(source, dest) print(f" āœ… {season} stage {idx}: {dest.name}") total_copied += 1 else: print(f" āŒ {season} stage {idx}: NOT FOUND ({sprite_prefix})") print(f"\nšŸŽ‰ TOTAL COPIED: {total_copied} sprites") return total_copied if __name__ == '__main__': organize_crops()