#!/usr/bin/env python
"""Check if .env file exists and what it contains"""

import os
from pathlib import Path

print("=" * 60)
print("Checking .env file and database configuration")
print("=" * 60)
print()

# Get paths
script_dir = Path(__file__).resolve().parent
env_path = script_dir / '.env'

print(f"Script directory: {script_dir}")
print(f".env path: {env_path}")
print(f".env exists: {env_path.exists()}")
print()

if env_path.exists():
    print("✓ .env file found!")
    print()
    print("Database configuration in .env:")
    print("-" * 60)
    with open(env_path, 'r') as f:
        for line in f:
            line = line.strip()
            if line.startswith('DB_'):
                # Hide password
                if 'PASSWORD' in line:
                    parts = line.split('=')
                    if len(parts) == 2:
                        print(f"{parts[0]}=***hidden***")
                else:
                    print(line)
    print("-" * 60)
else:
    print("✗ .env file NOT found!")
    print()
    print("You need to create .env file with:")
    print()
    print("DB_NAME=xygbfpsg_loans")
    print("DB_USER=xygbfpsg_graz")
    print("DB_PASSWORD=your_password")
    print("DB_HOST=localhost")
    print("DB_PORT=3306")

print()
print("Checking environment variables after loading...")

# Try to load
try:
    from dotenv import load_dotenv
    if env_path.exists():
        load_dotenv(env_path, override=True)
    
    print(f"DB_NAME: {os.getenv('DB_NAME', '❌ NOT SET')}")
    print(f"DB_USER: {os.getenv('DB_USER', '❌ NOT SET')}")
    print(f"DB_HOST: {os.getenv('DB_HOST', '❌ NOT SET')}")
    print(f"DB_PORT: {os.getenv('DB_PORT', '❌ NOT SET')}")
    
    if os.getenv('DB_PASSWORD'):
        print(f"DB_PASSWORD: ***set***")
    else:
        print(f"DB_PASSWORD: ❌ NOT SET")
        
except ImportError:
    print("python-dotenv not installed")
    print("Install with: pip install python-dotenv")

print()
print("=" * 60)
