#!/usr/bin/env python
"""
Script to test static file serving in production
"""
import os
import sys
import django
from pathlib import Path

# Add the project directory to Python path
BASE_DIR = Path(__file__).resolve().parent
sys.path.append(str(BASE_DIR))

# Set Django settings
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'ruralpoint_system.settings_production')

# Setup Django
django.setup()

from django.conf import settings
from django.contrib.staticfiles.finders import find

def test_static_files():
    """Test if static files are accessible"""
    print("Testing static file configuration...")
    
    # Check STATIC_ROOT
    print(f"STATIC_ROOT: {settings.STATIC_ROOT}")
    print(f"STATIC_URL: {settings.STATIC_URL}")
    print(f"STATICFILES_DIRS: {settings.STATICFILES_DIRS}")
    
    # Check if staticfiles directory exists
    staticfiles_dir = Path(settings.STATIC_ROOT)
    if staticfiles_dir.exists():
        print(f"✅ STATIC_ROOT directory exists: {staticfiles_dir}")
        
        # List some files in staticfiles
        admin_css = staticfiles_dir / 'admin' / 'css' / 'base.css'
        if admin_css.exists():
            print(f"✅ Admin CSS found: {admin_css}")
        else:
            print(f"❌ Admin CSS missing: {admin_css}")
            
        logo = staticfiles_dir / 'logo.jpeg'
        if logo.exists():
            print(f"✅ Logo found: {logo}")
        else:
            print(f"❌ Logo missing: {logo}")
    else:
        print(f"❌ STATIC_ROOT directory missing: {staticfiles_dir}")
    
    # Test static file finder
    try:
        admin_css_path = find('admin/css/base.css')
        if admin_css_path:
            print(f"✅ Static file finder works: admin/css/base.css -> {admin_css_path}")
        else:
            print("❌ Static file finder failed to find admin/css/base.css")
    except Exception as e:
        print(f"❌ Static file finder error: {e}")

if __name__ == '__main__':
    test_static_files()
