import inspect
import os

import pythoncom
import win32com.client
from PyQt6.QtWidgets import QApplication
import sys

sys.path.append(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()) + "\\..\\..\\..")))
from Projeler.Yalin.FikoTikAptPost.FikoTikAptPost import *
from IFikatia import IFikatia


debugging = False
if debugging:
    from win32com.server.dispatcher import DefaultDebugDispatcher

    useDispatcher = DefaultDebugDispatcher
else:
    useDispatcher = None


class FikoYTBehemilPost():
    _reg_clsctx_ = pythoncom.CLSCTX_LOCAL_SERVER
    _reg_desc_ = "FikoYT"
    _reg_clsid_ = "{E6AB000D-EC97-4707-91D5-A35B30D59FA0}"
    _reg_progid_ = "FikoYT.IFikoBehemilPost"
    _public_methods_ = ['Calistir']
    _public_attrs_ = []

    def Calistir(self, Catia1):
        fikatia = IFikatia(Dispatch(Catia1))
        aptClickPost(fikatia)
        behemilPrg = os.path.join(kokDizin, "Projeler", "QTBilesenleri", "FikoBehemilPost", "__test.py")
        klasor = fikatia.aktifDokuman.klasoru
        fikatia.aktifDokuman.klasoruAcSecimli()
        subprocess.call(['python', behemilPrg, ""])  # , "'{}'".format(klasor)


# Dim fikopost
# Set fikopost = CreateObject("FikoYT.IFikoBehemilPost")
# fikopost.calistir CATIA
if __name__ == '__main__':
    import win32com.server.register
    win32com.server.register.UseCommandLine(FikoYTBehemilPost)

    # FikoYTBehemilPost().Calistir(Catia1=win32com.client.GetActiveObject("Catia.Application"))

    fikatia = IFikatia(win32com.client.GetActiveObject("Catia.Application"))
    aptClickPost(fikatia)
    behemilPrg = os.path.join(kokDizin, "Projeler", "QTBilesenleri", "FikoBehemilPost", "__test.py")
    klasor = fikatia.aktifDokuman.klasoru
    fikatia.aktifDokuman.klasoruAcSecimli()
    subprocess.call(['python', behemilPrg, ""])  # , "'{}'".format(klasor)
