from django.core.management.base import BaseCommand
from product.models import Product


class Command(BaseCommand):
    help = 'Tüm ürünler için eksik thumb dosyalarını oluşturur'

    def handle(self, *args, **options):
        products = Product.objects.filter(images__isnull=False)
        total = products.count()
        created = 0
        skipped = 0

        self.stdout.write(f'\n{total} ürün kontrol ediliyor...\n')

        for product in products:
            if not product.thumb:
                try:
                    product.save()  # save() metodu thumb'ı otomatik oluşturacak
                    created += 1
                    self.stdout.write(
                        self.style.SUCCESS(f'✓ Thumb oluşturuldu: {product.title}')
                    )
                except Exception as e:
                    self.stdout.write(
                        self.style.ERROR(f'✗ Hata ({product.title}): {str(e)}')
                    )
            else:
                skipped += 1
                self.stdout.write(
                    self.style.WARNING(f'- Atlandı (zaten var): {product.title}')
                )

        self.stdout.write(
            self.style.SUCCESS(
                f'\n✓ Tamamlandı! {created} thumb oluşturuldu, {skipped} atlandı.\n'
            )
        )
