from django.core.management.base import BaseCommand
from extractly.models import NetworkMonitoredPage, SourceNetwork

class Command(BaseCommand):
    help = 'Ustawia is_active=True dla wszystkich NetworkMonitoredPage powiązanych z wybranym source (po name, case-insensitive)'

    def add_arguments(self, parser):
        parser.add_argument('--source_name', type=str, required=True, help='Name źródła (NetworkSource) - niewrażliwe na wielkość liter')

    def handle(self, *args, **options):
        source_name = options['source_name']
        try:
            source = SourceNetwork.objects.get(name__iexact=source_name)
        except SourceNetwork.DoesNotExist:
            self.stderr.write(self.style.ERROR(f"Źródło o nazwie '{source_name}' nie istnieje!"))
            return

        pages = NetworkMonitoredPage.objects.filter(source=source)
        updated = pages.update(is_active=True, inactive_date=None)
        self.stdout.write(self.style.SUCCESS(
            f"Zaktualizowano {updated} rekordów: ustawiono is_active=True (dla source: {source})"
        ))
