import sys
import json
from colleges.models import College
from django.core.management.base import BaseCommand

class Command(BaseCommand):
    help = 'Insert or update a college entry from a JSON data file.'

    def add_arguments(self, parser):
        parser.add_argument('--slug', type=str, required=True, help='College slug')
        parser.add_argument('--data_file', type=str, required=True, help='Path to JSON data file')

    def handle(self, *args, **options):
        slug = options['slug']
        data_file = options['data_file']
        with open(data_file, 'r') as f:
            data = json.load(f)
        college, created = College.objects.update_or_create(
            slug=slug,
            defaults=data
        )
        if created:
            self.stdout.write(self.style.SUCCESS(f"College '{slug}' created successfully."))
        else:
            self.stdout.write(self.style.SUCCESS(f"College '{slug}' updated successfully."))
