##### database.py #####
#
# Provides database connection functions
#
#####

#!/usr/bin/env python3
import mysql.connector
from types import SimpleNamespace
from config_i import config

def get_connection(db: SimpleNamespace, TESTING = False):
    """
    Returns a connection to the specified database.
    Accepts any db type from config.db

    :param db: Database name
    :return: mysql.connector connection object
    """
    
    if TESTING: print (f"database.py: Connecting to {db}...")
    return mysql.connector.connect(
        host=db.host,
        user=db.user,
        password=db.password,
        database=db.database
    )

# Optional CLI usage for debugging
if __name__ == "__main__":
    
    try:
        conn = get_connection (config.db.tr1, True)
        print(f"database.py: conn: {conn}")
        cursor = conn.cursor()
        cursor.execute("SELECT * FROM users")
        print(f"database.py: conn.cursor: {cursor.fetchall()}")
        conn.close()
        
    except RuntimeError as e:
        print(e)
        exit(1)
