ssctopper/generators/run_all.py

64 lines
1.6 KiB
Python

#!/usr/bin/env python3
"""
Master script to generate all 100,000 SSC CGL questions.
Usage: python3 generators/run_all.py [--force]
"""
import sys
import os
import time
sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..'))
from db.init import init_db, get_db, get_stats
def main():
force = '--force' in sys.argv
start = time.time()
print("=" * 60)
print("SSCTopper - Question Generation Pipeline")
print("=" * 60)
# Step 1: Initialize DB
print("\n[1/5] Initializing database...")
init_db(force=force)
conn = get_db()
# Step 2: Quantitative Aptitude
print("\n[2/5] Generating Quantitative Aptitude questions...")
from generators.quant_generator import generate_all as gen_quant
gen_quant(conn)
# Step 3: Reasoning
print("\n[3/5] Generating Reasoning questions...")
from generators.reasoning_generator import generate_all as gen_reason
gen_reason(conn)
# Step 4: English
print("\n[4/5] Generating English Language questions...")
from generators.english_generator import generate_all as gen_eng
gen_eng(conn)
# Step 5: General Awareness
print("\n[5/5] Generating General Awareness questions...")
from generators.gk_generator import generate_all as gen_gk
gen_gk(conn)
# Final stats
stats = get_stats(conn)
elapsed = time.time() - start
print("\n" + "=" * 60)
print("GENERATION COMPLETE")
print("=" * 60)
for subject, count in stats.items():
print(f" {subject}: {count:,}")
print(f"\n Time taken: {elapsed:.1f} seconds")
print("=" * 60)
conn.close()
if __name__ == '__main__':
main()