from app import app, db
from models import Institute, University, College

def sync_institutes():
    with app.app_context():
        print("Syncing Institutes to lookup tables...")
        institutes = Institute.query.all()
        
        uni_count = 0
        col_count = 0
        
        existing_unis = {u.name.lower() for u in University.query.all()}
        existing_cols = {c.name.lower() for c in College.query.all()}
        
        for inst in institutes:
            name = inst.name.strip()
            if not name:
                continue
            
            # Map type to table
            is_college = "college" in (inst.institute_type or "").lower()
            
            if is_college:
                if name.lower() not in existing_cols:
                    db.session.add(College(name=name, status="Active"))
                    existing_cols.add(name.lower())
                    col_count += 1
                    print(f"Added to Colleges: {name}")
            else:
                if name.lower() not in existing_unis:
                    db.session.add(University(name=name, status="Active"))
                    existing_unis.add(name.lower())
                    uni_count += 1
                    print(f"Added to Universities: {name}")
        
        db.session.commit()
        print(f"Sync complete. Added {uni_count} universities and {col_count} colleges.")

if __name__ == "__main__":
    sync_institutes()
