
    %
i                     <   d dl Z d dlZd dlZd dlmZ d dlmZ d dlmZm	Z	  G d dej
                  Z G d de	j                  Z G d	 d
          Z ej        d          Z G d dej                  ZdZdZdZddZd Zd Zd Zedk    r e             dS dS )    N)axscript)axsite)connectutilc                       e Zd Zd ZdS )MySitec                 x   |                                 }|                                \  }}}t          d|d                    	 |                                }n# t          j        $ r d }Y nw xY w|d}|dz   d|dz
  z  z   dz   dz   |d         z   }|                                D ]}t          d|z              d S )	Nz >Exception:    
 ^   z  >)GetExceptionInfoGetSourcePositionprintGetSourceLineText	pythoncom	com_error
splitlines)selferrorexccontextlinecharsttexts           C:\Users\Dell Inspiron 16\Desktop\tws\AgrotaPowerBi\back-agrota-powerbi\mcp-client-agrota\venv\Lib\site-packages\win32comext/axscript/test/leakTest.pyOnScriptErrorzMySite.OnScriptError   s    $$&&#5577tnc!f%%%	((**BB" 	 	 	BBB	:BDyC4!8,-3d:SVCOO%% 	  	 D%$,	  	 s   A A-,A-N)__name__
__module____qualname__r         r   r   r   
   s#                 r%   r   c                       e Zd Zd ZdS )MyCollectionc                 ^    t          d           t          j                            |           S )NzMaking new Enumerator)r   r   
Collection_NewEnumr   s    r   r*   zMyCollection._NewEnum   s'    %&&&''---r%   N)r!   r"   r#   r*   r$   r%   r   r'   r'      s#        . . . . .r%   r'   c                   (    e Zd ZdgZddgZd Zd ZdS )Testecho
collectionverbosec                 r    d| _         t          j        t          g d                    | _        d| _        d S )Nr   )r
   Two   r   )r0   r   wrapr'   r/   lastr+   s    r   __init__zTest.__init__$   s1    )L$?$?@@			r%   c                     d                     t          t          |                    | _        | j        r&|D ]}t          |d           t                       d S d S )Nr   r   )end)joinmapstrr5   r0   r   )r   argsargs      r   r.   z	Test.echo+   sc    GGCTNN++	< 	 $ $cs#####GGGGG	 	r%   N)r!   r"   r#   _public_methods__public_attrs_r6   r.   r$   r%   r   r-   r-       sD        x"I.N      r%   r-   z&{8EB72F90-0D44-11d1-9C4B-00AA00125A98}c                   &    e Zd ZegZd Zd Zd ZdS )TestConnectServerc                     || _         d S N)object)r   rD   s     r   r6   zTestConnectServer.__init__A   s    r%   c                 >    |                      | j        |f           d S rC   )_BroadcastNotifyNotifyDoneIt)r   r=   s     r   	BroadcastzTestConnectServer.BroadcastD   s#    d/#88888r%   c                 L    |                     ddt          j        d|           d S )Ni  r   r
   )Invoker   DISPATCH_METHOD)r   	interfacer=   s      r   rG   zTestConnectServer.NotifyDoneItH   s'    q)";QDDDDDr%   N)r!   r"   r#   IID_ITestEvents_connect_interfaces_r6   rH   rG   r$   r%   r   rA   rA   <   sO        +,  9 9 9E E E E Er%   rA   zprop = "Property Value"

sub hello(arg1)
   test.echo arg1
end sub

sub testcollection
   test.verbose = 1
   for each item in test.collection
     test.echo "Collection item is", item
   next
end sub
a  print("PyScript is being parsed...")


prop = "Property Value"
def hello(arg1):
   test.echo(arg1)
   pass

def testcollection():
   test.verbose = 1
#   test.collection[1] = "New one"
   for item in test.collection:
     test.echo("Collection item is", item)
   pass
zbad code for everyone!
r
   c                    t                      }dt          j        |          i}t          |          }|                    |           }|                    |t          j                   	 |                                 |s|	                                 d S n# |s|	                                  Y d S w xY wt          ||           |j                            t          j                   |j                            t          j        |                     t          d           |                                 |	                                 d S )Ntest
restarting)r-   r   r4   r   
_AddEngineAddCoder   SCRIPTTEXT_ISPERSISTENTStartClosedoTestEngineeScriptSetScriptStateSCRIPTSTATE_UNINITIALIZEDSetScriptSiter   )
engineNamecodebShouldWorkechoermodelsiteengines          r   
TestEnginerc   p   s    VVF	&!!E %==D__Z((F
NN49::: 	LLNNNF	{ 	LLNNNFFFFFFF   
N!!("DEEE
N  4111	,
LLNNN
LLNNNNNs   *B B32B3c           	      "   ddl m}  ||                                           }	 |                    d           n-# t          j        $ r}t          d|           Y d }~d S d }~ww xY w|j        dk    rt          d|j                   t          |j	                  dk    rt          d|j	                   |
                                 | j                            dd d d ddt          j                  }|d	k    rt          d
|           d S d S )Nr   )DispatchGooberz***** Calling 'hello' failedz.***** Function call didnt set value correctly zProperty Valuez#***** Property Value not correct - z1+1r   z5Engine could not evaluate '1+1' - said the result was)win32com.client.dynamicre   GetScriptDispatchhellor   r   r   r5   r;   proptestcollectioneParseParseScriptTextr   SCRIPTTEXT_ISEXPRESSION)rb   r_   re   obr   results         r   rW   rW      sD   000000	&**,,	-	-B
   ,c222 {hNv{NNOOO
27||'''?BG??@@@ ]**tT4Ax'G F {{EvNNNNN {s   ; A%
A  A%c                      t          d          D ]7} t          dt                     t          t	          j                               8d S )N
   Python)rangerc   PyScriptr   sysgettotalrefcount)is    r   	dotestallry      sK    2YY & &8X&&&c"$$%%%%& &r%   c                      t                       t          j                     t          dt          j                    t          j                    fz             d S )Nz>AXScript Host worked correctly - %d/%d COM objects left alive.)ry   r   CoUninitializer   _GetInterfaceCount_GetGatewayCountr$   r%   r   testallr~      sY    KKK	H'))9+E+G+G
H	I    r%   __main__)r
   )rv   r   
pywintypeswin32com.axscriptr   win32com.axscript.serverr   win32com.serverr   r   AXSiter   r)   r'   r-   IIDrM   ConnectableServerrA   VBScriptru   	ErrScriptrc   rW   ry   r~   r!   r$   r%   r   <module>r      s   



         & & & & & & + + + + + + ) ) ) ) ) ) ) )         V]       . . . . .4? . . .       2 !*.!IJJE E E E E1 E E E  	
   2O O O4& & &   zGIIIII r%   