"""Seed Education and AnnualCTC master data tables.

Run: python master_seeder/seed_education_and_ctc.py
"""

import django
import os
import sys

EDUCATIONS = [
    "10th", "12th", "Diploma", "BA", "MA", "BSc", "MSc", "BCom", "MCom",
    "Btech", "Mtech", "BCA", "MCA", "MBA", "Graduate", "Post Graduate", "PhD",
]

CTC_DEFAULTS = []
# 50,000 to 10,00,000 (10 Lakh) in steps of 50,000
for i in range(50000, 1000001, 50000):
    lakhs = i // 100000
    rem = i % 100000
    if lakhs == 0:
        label = f"{rem // 1000} Thousand"
    elif rem == 0:
        label = f"{lakhs} Lakh"
    else:
        label = f"{lakhs} Lakh {rem // 1000} Thousand"
    CTC_DEFAULTS.append((i, label))
# 11,00,000 to 50,00,000 in steps of 1 Lakh
for i in range(1100000, 5000001, 100000):
    lakhs = i // 100000
    CTC_DEFAULTS.append((i, f"{lakhs} Lakh"))
# Higher bands
for i in range(6, 10):
    CTC_DEFAULTS.append((i * 1000000, f"{i * 10} Lakh"))
CTC_DEFAULTS.append((10000000, "1 Crore"))


def run():
    from apps.master_data.models import Education, AnnualCTC

    for i, name in enumerate(EDUCATIONS):
        Education.objects.get_or_create(
            name=name, defaults={"sort_order": i, "is_active": True}
        )
    print(f"Seeded {Education.objects.count()} education qualification options.")

    for i, (value, label) in enumerate(CTC_DEFAULTS):
        AnnualCTC.objects.get_or_create(
            value=value, defaults={"label": label, "sort_order": i, "is_active": True}
        )
    print(f"Seeded {AnnualCTC.objects.count()} annual CTC options.")


if __name__ == "__main__":
    sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings.dev")
    django.setup()
    run()
