"""
Management command to seed initial plant data.
Run: python manage.py seed_plants
"""

from django.core.management.base import BaseCommand

from plant.models import Plant


INITIAL_PLANTS = [
    {
        "name": "گوجه‌فرنگی",
        "light": "آفتاب کامل (۶-۸ ساعت)",
        "watering": "منظم، هفته‌ای ۲-۳ بار",
        "soil": "لومی، غنی از مواد آلی، pH بین ۶-۶.۸",
        "temperature": "۲۰-۳۰ درجه سانتی‌گراد",
        "planting_season": "بهار",
        "harvest_time": "۷۰-۹۰ روز پس از کاشت",
        "spacing": "۴۵-۶۰ سانتی‌متر",
        "fertilizer": "کود NPK متعادل، کمپوست",
    },
    {
        "name": "خیار",
        "light": "آفتاب کامل",
        "watering": "روزانه در فصل گرم",
        "soil": "لومی شنی، غنی از هوموس",
        "temperature": "۱۸-۳۰ درجه سانتی‌گراد",
        "planting_season": "بهار تا اوایل تابستان",
        "harvest_time": "۵۰-۷۰ روز پس از کاشت",
        "spacing": "۳۰-۴۵ سانتی‌متر",
        "fertilizer": "کود ازته، کمپوست",
    },
    {
        "name": "فلفل دلمه‌ای",
        "light": "آفتاب کامل (۶-۸ ساعت)",
        "watering": "منظم، هفته‌ای ۲-۳ بار",
        "soil": "لومی، زهکشی مناسب",
        "temperature": "۲۰-۳۰ درجه سانتی‌گراد",
        "planting_season": "بهار",
        "harvest_time": "۶۰-۹۰ روز پس از کاشت",
        "spacing": "۴۰-۵۰ سانتی‌متر",
        "fertilizer": "کود فسفره و پتاسه",
    },
    {
        "name": "هویج",
        "light": "آفتاب کامل تا نیمه‌سایه",
        "watering": "منظم، خاک مرطوب",
        "soil": "شنی لومی، عمیق، بدون سنگ",
        "temperature": "۱۵-۲۵ درجه سانتی‌گراد",
        "planting_season": "اوایل بهار یا پاییز",
        "harvest_time": "۷۰-۸۰ روز پس از کاشت",
        "spacing": "۵-۸ سانتی‌متر",
        "fertilizer": "کود پتاسه، کمپوست پوسیده",
    },
    {
        "name": "کاهو",
        "light": "نیمه‌سایه تا آفتاب کامل",
        "watering": "منظم، خاک مرطوب",
        "soil": "لومی، غنی از مواد آلی",
        "temperature": "۱۰-۲۰ درجه سانتی‌گراد",
        "planting_season": "بهار و پاییز",
        "harvest_time": "۴۵-۶۰ روز پس از کاشت",
        "spacing": "۲۰-۳۰ سانتی‌متر",
        "fertilizer": "کود ازته، کمپوست",
    },
    {
        "name": "سیب‌زمینی",
        "light": "آفتاب کامل",
        "watering": "منظم، هفته‌ای ۲ بار",
        "soil": "لومی شنی، اسیدی ملایم، pH بین ۵-۶",
        "temperature": "۱۵-۲۲ درجه سانتی‌گراد",
        "planting_season": "اواخر زمستان تا اوایل بهار",
        "harvest_time": "۹۰-۱۲۰ روز پس از کاشت",
        "spacing": "۳۰-۴۰ سانتی‌متر",
        "fertilizer": "کود NPK، کمپوست",
    },
    {
        "name": "پیاز",
        "light": "آفتاب کامل",
        "watering": "منظم، خاک مرطوب ولی نه غرقابی",
        "soil": "لومی، زهکشی خوب",
        "temperature": "۱۲-۲۴ درجه سانتی‌گراد",
        "planting_season": "پاییز یا اوایل بهار",
        "harvest_time": "۹۰-۱۵۰ روز پس از کاشت",
        "spacing": "۱۰-۱۵ سانتی‌متر",
        "fertilizer": "کود فسفره، سولفات پتاسیم",
    },
]


class Command(BaseCommand):
    help = "Seed initial plant data (7 common vegetables)"

    def handle(self, *args, **options):
        created_count = 0
        for plant_data in INITIAL_PLANTS:
            _, created = Plant.objects.get_or_create(
                name=plant_data["name"],
                defaults=plant_data,
            )
            if created:
                created_count += 1
                self.stdout.write(
                    self.style.SUCCESS(f"  Created: {plant_data['name']}")
                )
        self.stdout.write(
            self.style.SUCCESS(f"\nDone. Created {created_count} new plants.")
        )
