
    %
i}                          d dl Z d dlZd dlZd dlZd dlZd dlmZmZmZm	Z	 d dl
mZ d dlmZ d dlmZ de j        v Zd Z G d d	          Z G d
 de          Z G d de	j                  Z G d d          ZdS )    N)adbaxdebug	documentsgateways)SourceCodeContainer)_wrap)COMExceptionDEBUG_AXDEBUGc                      t           sdS t          t          j                    d           | D ]}t          |d           t                       dS )z8A function used instead of "print" for debugging output.N )end)debuggingTraceprintwin32apiGetCurrentThreadId)argsargs     C:\Users\Dell Inspiron 16\Desktop\tws\AgrotaPowerBi\back-agrota-powerbi\mcp-client-agrota\venv\Lib\site-packages\win32comext/axscript/client/debug.pytracer      s]     	(
%
'
'S1111  cs	GGGGG    c                   T    e Zd Zej        gZd Zd Zd Zd Z	d Z
d Zd Zd Zd	 Zd
S )DebugManagerc                    || _         t          j                    | _        d | _        d | _        t          j                    | _        	 |                    t          j
                  | _        n+# t          j        $ r t          d           d | _        Y nw xY wd | _        | j        Z	 | j                                        | _        | j                                        | _        n# t          j        $ r
 d | _        Y nw xY w| j        lt          j        t          j        d t          j        t          j                  }|                                | _        | j                                        | _        | j        
J d            d | _        | j        %| j                            | j        | j                   i | _        t5          t7          | | j                  t          j                  | _        d S )Nz(Scripting site has no debugger interfacez.Need to have a DebugApplication object by now!)scriptEnginer   DebuggerrootNodedebugApplicationr   CodeContainerProvider
ccProviderGetScriptSiter   IID_IActiveScriptSiteDebugscriptSiteDebug	pythoncom	com_errorr   GetApplicationGetRootApplicationNodeCoCreateInstanceCLSID_ProcessDebugManager
CLSCTX_ALLIID_IProcessDebugManagerGetDefaultApplicationGetRootNodeactiveScriptDebug	AttachAppcodeContainersr   ActiveScriptDebugIID_IActiveScriptDebug)selfr   pdms      r   __init__zDebugManager.__init__   s   (<>> $#9;;	(#/#=#=2$ $D   " 	( 	( 	(<===#'D   	(
 !%+-(,(<(K(K(M(M% $ 4 K K M M& - - -(,%%%-  ( ,1$0	 C %($=$=$?$?D! 1==??DM$00< 100 "& ,Ht4doFFF !&dD$788':X"
 "
s$   $A, ,%BB&<C# #C<;C<c                     d | _         d | _        d | _        d | _        d | _        | j         | j                                         d | _        i | _        | j        r"| j        	                                 d | _        d S d S N)
r-   r   r   r   r"   r   Closer/   r   CloseAppr2   s    r   r7   zDebugManager.CloseP   s    !%  $#?&O!!###"DO 8 	HDHHH	 	r   c                     | j         duS )z0Do we have _any_ debugging interfaces installed?N)r   r9   s    r   	IsAnyHostzDebugManager.IsAnyHosta   s    $D00r   c                     | j         d u S r6   )r"   r9   s    r   IsSimpleHostzDebugManager.IsSimpleHoste   s    #t++r   c                 (    t          d           d}|S )zCalled by the engine when a runtime error occurs.  If we have a debugger,
        we let it know.

        The result is a boolean which indicates if the error handler should call
        IActiveScriptSite::OnScriptError()
        HandleRuntimeError   )r   )r2   fCallOnErrors     r   r?   zDebugManager.HandleRuntimeErrorh   s     	"###r   c                 F    || j         v r| j        S t          d|           dS )NzDebugManager QI - unknown IIDr   )_debugger_interfaces_r-   r   r2   iids     r   _query_interface_for_debugger_z+DebugManager._query_interface_for_debugger_x   s/    $,,,))-s333qr   c                     t          d           | j                            t          j                    j                   d S )NOnEnterScript)r   r   SetupAXDebuggingsys	_getframef_backr9   s    r   rH   zDebugManager.OnEnterScript~   s5    o!!#-//"899999r   c                 V    t          d           | j                                         d S )NOnLeaveScript)r   r   ResetAXDebuggingr9   s    r   rN   zDebugManager.OnLeaveScript   s*    o!!#####r   c                    t          || j                  }|                                 rt          j        |          }t          |t          j                  }t          j        |          }t          |t          j	                  }||_
        | j                                        }|                    |           |                    | j                   nd }|| j        |j        <   | j                            ||           d S r6   )DebugCodeBlockContainerr"   r=   r   DebugDocumentTextr   r   IID_IDebugDocumentDebugDocumentProviderIID_IDebugDocumentProviderdebugDocumentr   CreateApplicationNodeSetDocumentProviderAttachr   r/   sourceContextr   AddCodeContainer)r2   	codeBlockccdocumentprovidernewNodes         r   AddScriptBlockzDebugManager.AddScriptBlock   s    $Y0DEE 	7 2266HXw'ABBH 6x@@HXw'IJJH'B+AACCG''111NN4=))))G46D 01((W55555r   N)__name__
__module____qualname__r   r1   rC   r4   r7   r;   r=   r?   rF   rH   rN   ra    r   r   r   r      s        $;<0
 0
 0
d  "1 1 1, , ,     : : :$ $ $6 6 6 6 6r   r   c                       e Zd Zd Zd ZdS )rQ   c                     || _         t          j        | |j        |                                |j        |j        |           d S r6   )r\   r   r4   codeTextGetFileNamesourceContextCookiestartLineNumber)r2   r\   sites      r   r4   z DebugCodeBlockContainer.__init__   sO    "$!!##)%	
 	
 	
 	
 	
r   c                     |t           j        k    r| j                                        S |t           j        k    r| j                                        S t          t          j                  )Nscode)r   DOCUMENTNAMETYPE_APPNODEr\   GetDisplayNameDOCUMENTNAMETYPE_TITLEr	   winerrorS_FALSE)r2   dnts     r   GetNamezDebugCodeBlockContainer.GetName   s\    '222>00222G222>00222 X%56666r   N)rb   rc   rd   r4   rv   re   r   r   rQ   rQ      s2        	
 	
 	
7 7 7 7 7r   rQ   c                       e Zd Zd ZdS )EnumDebugCodeContextsc                     |S r6   re   )r2   obs     r   r   zEnumDebugCodeContexts._wrap   s    	r   N)rb   rc   rd   r   re   r   r   rx   rx      s#            r   rx   c                   N    e Zd ZdZg dZej        gZd Zd Z	d Z
d Zd Zd Zd	S )
r0   zThe class which implements the IActiveScriptDebug interface for the Active Script engine.

    Only ever used by smart hosts.
    )GetScriptTextAttributesGetScriptletTextAttributesEnumCodeContextsOfPositionc                 :    || _         |j        | _        || _        d S r6   debugMgrr"   r/   )r2   r   r/   s      r   r4   zActiveScriptDebug.__init__   s"     '7,r   c                 0    d | _         d | _        i | _        d S r6   r   r9   s    r   _ClosezActiveScriptDebug._Close   s    # r   c                 V    t          d|           t          | j        j        |          S )NzDebuggerQI with)r   r   r   r   rD   s     r   _query_interface_z#ActiveScriptDebug._query_interface_   s(    %%%T]/555r   c                 J    t          |d          }|                                S )N<Temp Code Block>)r   GetSyntaxColorAttributesr2   codedelimflags	containers        r   r|   z)ActiveScriptDebug.GetScriptTextAttributes   s$    '.ABB	11333r   c                 n    t          d|||           t          |d          }|                                S )Nr}   r   )r   r   r   r   s        r   r}   z,ActiveScriptDebug.GetScriptletTextAttributes   s9    *D%???'.ABB	11333r   c                    t          d|||           	 | j        |                             |          }n(# t          $ r t	          t
          j                  w xY wt          |g          }t          |t          j
                  S )Nr~   rn   )r   r/   GetCodeContextAtPositionKeyErrorr	   rs   E_UNEXPECTEDrx   r   r   IID_IEnumDebugCodeContexts)r2   context
charOffsetnumCharsenums        r   r~   z,ActiveScriptDebug.EnumCodeContextsOfPosition   s    *GZJJJ	<)'2KKJWWGG 	< 	< 	<X%:;;;;	<$gY//T7=>>>s	    5 %AN)rb   rc   rd   __doc___public_methods_r   r1   _com_interfaces_r4   r   r   r|   r}   r~   re   r   r   r0   r0      s         
  
  67- - -
! ! !
6 6 64 4 44 4 4
? ? ? ? ?r   r0   )osrJ   r#   r   rs   win32com.axdebugr   r   r   r   win32com.axdebug.codecontainerr   win32com.axdebug.utilr   win32com.server.exceptionr	   environr   r   r   rQ   rx   r0   re   r   r   <module>r      se   				 



       > > > > > > > > > > > > > > > > > > ' ' ' ' ' ' 2 2 2 2 2 2 BJ.  z6 z6 z6 z6 z6 z6 z6 z6z7 7 7 7 71 7 7 7.    H:   
+? +? +? +? +? +? +? +? +? +?r   