from django.core.management.base import BaseCommand, CommandError

from training.timed import close_due_slots


class Command(BaseCommand):
    help = "Close expired timed group sessions; never auto-enrol or credit absent players."

    def add_arguments(self, parser):
        parser.add_argument("--limit", type=int, default=100)

    def handle(self, *args, **options):
        limit = options["limit"]
        if not 1 <= limit <= 1000:
            raise CommandError("limit must be 1..1000")
        self.stdout.write(f"Closed {close_due_slots(limit=limit)} timed training sessions.")
