import os, sys, traceback

out_lines = []

try:
    sys.path.insert(0, '/home8/xygameco/public_html')
    os.environ['DJANGO_SETTINGS_MODULE'] = 'xygaming_core.settings'

    import pymysql
    pymysql.install_as_MySQLdb()

    import django
    django.setup()

    out_lines.append('Django setup complete')

    from django.template.loader import get_template

    try:
        t = get_template('adminapp/manage_payment_qr.html')
        out_lines.append(f'Successfully loaded template: {t}')
    except Exception as e:
        out_lines.append(f'Template error: {e}')
        out_lines.append(traceback.format_exc())

    from adminapp.views import manage_payment_qr
    from django.test import RequestFactory
    from django.contrib.auth.models import User

    rf = RequestFactory()
    req = rf.get('/admin/manage-payment-qr')
    req.user = User.objects.get(username='admin')

    try:
        res = manage_payment_qr(req)
        out_lines.append(f'View execution status: {res.status_code}')
        if res.status_code >= 400:
            out_lines.append(res.content.decode('utf-8', errors='ignore')[:1000])
    except Exception as e:
        out_lines.append(f'View execution error: {e}')
        out_lines.append(traceback.format_exc())
except Exception as main_e:
    out_lines.append(f'Main exception: {main_e}')
    out_lines.append(traceback.format_exc())

try:
    with open('/home8/xygameco/public_html/test_tmpl_out.txt', 'w') as f:
        f.write('
'.join(out_lines))
except Exception:
    pass
