#!/usr/bin/env python3 """ Check arc_puzzles table for ConceptArc entries """ import os import pymysql from dotenv import load_dotenv def load_env_config(): """Load database configuration from .env file""" load_dotenv() return { 'host': os.getenv('DB_HOST'), 'user': os.getenv('DB_USER'), 'password': os.getenv('DB_PASSWORD'), 'database': os.getenv('DB_NAME'), 'port': int(os.getenv('DB_PORT', 3306)), 'charset': 'utf8mb4' } def main(): print("Checking arc_puzzles table") print("=" * 50) config = load_env_config() connection = pymysql.connect(**config) cursor = connection.cursor() # Check total counts by corpora cursor.execute(""" SELECT corpora, COUNT(*) as count FROM arc_puzzles GROUP BY corpora ORDER BY corpora """) print("\nTotal puzzles by corpora:") for corpora, count in cursor.fetchall(): print(f" {corpora}: {count}") # Check ConceptArc entries in detail cursor.execute(""" SELECT id, corpora, `set`, difficulty, version FROM arc_puzzles WHERE corpora = 'ConceptArc' ORDER BY `set`, id LIMIT 20 """) print("\n" + "=" * 50) print("First 20 ConceptArc entries in arc_puzzles:") print("=" * 50) print(f"{'ID':<20} {'Corpora':<15} {'Set':<20} {'Difficulty':<12} {'Version':<10}") print("-" * 80) rows = cursor.fetchall() if rows: for row in rows: puzzle_id, corpora, set_name, difficulty, version = row print(f"{puzzle_id:<20} {corpora:<15} {set_name:<20} {str(difficulty):<12} {str(version):<10}") else: print("No ConceptArc entries found!") # Count by set cursor.execute(""" SELECT `set`, COUNT(*) as count FROM arc_puzzles WHERE corpora = 'ConceptArc' GROUP BY `set` ORDER BY `set` """) print("\n" + "=" * 50) print("ConceptArc puzzles by category:") print("=" * 50) for set_name, count in cursor.fetchall(): print(f" {set_name}: {count}") connection.close() if __name__ == '__main__': main()