"""
Basit WRL Test - Direkt Python ile
"""

import sys
import os
import win32com.client
import pythoncom
import io

# Encoding düzelt
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8', errors='replace')

# Proje yolunu ekle
sys.path.insert(0, r'D:\__sistem__\Masaustu\FikatiaV2024')

from IFikatia import IFikatia
from IDokuman import IDokuman

print("=" * 70)
print("  Basit WRL Dönüştürme Testi (Direkt)")
print("=" * 70)

try:
    # COM başlat
    pythoncom.CoInitialize()

    print("\n1. CATIA'ya bağlanılıyor...")
    catia = win32com.client.Dispatch("Catia.Application")
    print(f"   ✓ CATIA: {catia.Caption}")

    print("\n2. IFikatia oluşturuluyor...")
    fikatia = IFikatia(obj=catia)
    print("   ✓ IFikatia hazır")

    print("\n3. Aktif döküman alınıyor...")
    aktif_dokuman = fikatia.aktifDokuman
    print(f"   ✓ Döküman: {aktif_dokuman.ismi}")
    print(f"   ✓ Klasör: {aktif_dokuman.klasoru}")

    print("\n4. WRL dosya yolu hazırlanıyor...")
    output_file = os.path.join(
        r"D:\__sistem__\Masaustu\FikatiaV2024\IDialoglar\IDialogCevirici",
        "ERKEK_test.wrl"
    )
    print(f"   ✓ Çıktı: {output_file}")

    print("\n5. WRL dönüştürme başlıyor...")
    print("   (Bu işlem biraz zaman alabilir...)")

    aktif_dokuman.veriAktar(output_file, "wrl")

    print("\n   ✓✓✓ BAŞARILI! ✓✓✓")

    if os.path.exists(output_file):
        file_size = os.path.getsize(output_file)
        print(f"\n   Çıktı Dosyası: {output_file}")
        print(f"   Dosya Boyutu: {file_size:,} bytes")
    else:
        print("\n   ⚠ Dosya oluşturulmadı!")

except Exception as e:
    print(f"\n✗ HATA: {e}")
    import traceback
    traceback.print_exc()

finally:
    try:
        pythoncom.CoUninitialize()
    except:
        pass

print("\n" + "=" * 70)
print("  Test Tamamlandı")
print("=" * 70)
