import csv
from django.core.management.base import BaseCommand
from core.models import MemberOfParliament

class Command(BaseCommand):
    help = 'Import MPs from CSV'

    def handle(self, *args, **options):
        file_path = 'mps.csv'
        try:
            with open(file_path, mode='r', encoding='utf-8') as file:
                reader = csv.DictReader(file)
                count = 0
                for row in reader:
                    name = f"{row['First Name']} {row['Last Name']}"
                    party = row['Political Affiliation']
                    constituency = row['Constituency']
                    province = row['Province / Territory']
                    
                    MemberOfParliament.objects.update_or_create(
                        name=name,
                        defaults={
                            'party': party,
                            'constituency': constituency,
                            'province': province,
                        }
                    )
                    count += 1
                self.stdout.write(self.style.SUCCESS(f'Successfully imported {count} MPs'))
        except FileNotFoundError:
            self.stdout.write(self.style.ERROR(f'File {file_path} not found'))
        except Exception as e:
            self.stdout.write(self.style.ERROR(f'Error: {str(e)}'))
