oidZddlZddlZddlZddlmZddlZddlmZm Z dZ dZ dZ d Z iejd ejd ejd ejd ejd ejd ejd ejd ejd ejd ejd ejd ejd ejd ejdejd ZdZdZ dZ!dZ"GddZ#Gddej$e#Z%dZ&Gddej$e#Z'Gddej$e#Z(Gddej)e#Z)Gddej*e#Z*Gd d!ej$e#Z+Gd"d#Z,Gd$d%Z-e.d&kr e/d'dSdS)(agenpy.py - The worker for makepy. See makepy.py for more details This code was moved simply to speed Python in normal circumstances. As the makepy.py is normally run from the command line, it reparses the code each time. Now makepy is nothing more than the command line handler and public interface. The makepy command line etc handling is also getting large enough in its own right! N)chain)buildgencachez0.5.01fullz demand(base)z demand(child)intfloatstrtypez datetime.datecg}|ddD]/}tj|}|n||0t|SNr)rMakeDefaultArgReprappendtuple)argsDescretdescdefaults EC:\PYTHON\Scheduler\python\Lib\site-packages\win32com/client/genpy.pyMakeDefaultArgsForPropertyPutr=sY C *400 ? E 7 ::cZtd|D}d|||dd|||fzS)Nc"g|] }|dd S)N).0whats r z$MakeMapLineEntry..Is 4444d2A2h444rz(%s, %d, %s, %s, "%s", %s)r)r)dispidwFlagsretTypeargTypesuser resultCLSIDs rMakeMapLineEntryr%GsJ44844455H '   + rc,|dddkr|Sd|zS)NrOnr) eventNames rMakeEventMethodNamer)Ts&!}irc ptd|t|j|j|jD]<}|jj}td|t|j dfz|=td|dS)Nz _dispid_to_func_ = {filez %9d : "%s",rz }) printr propMapGetvalues propMapPutmapFuncsrmemidr)names)objstreamentryr2s rWriteSinkEventMapr7[s "0000          (;EKN(K(K L L      'rceZdZdZdZdS) WritableItemcb|j|jkr|j|jkS|j|jkSN)orderdoc)selfothers r__lt__zWritableItem.__lt__ms/ : $ $8ei' 'zEK''rc&d|jd|jS)Nz OleItem: doc=z, order=)r=r<r>s r__repr__zWritableItem.__repr__rs?tx??4:???rN)__name__ __module__ __qualname__r@rCrrrr9r9ls7((( @@@@@rr9c$eZdZdZdZddZdZdS) RecordItem RECORDNrc`tj|||d|_dSNr)rOleItem__init__clsid)r>typeInfotypeAttrr=bForUsers rrNzRecordItem.__init__zs+  tS)))a[ rcdSr;rr> generators r WriteClasszRecordItem.WriteClass rr rDrErFr<typenamerNrVrrrrHrHvsA EH ! ! ! !     rrHc|D]B}|jr9|jr2|jd|jdkr|||CdSrL)r/r=aliasDocWriteAliasItem)item aliasItemsr5aliass rWriteAliasesForItemr`sh""$$55 8 5 5EN1,=!,L,L  V 4 4 455rc$eZdZdZdZddZdZdS) AliasItemrALIASNrctj|||d}||_t |t rmt |dt rR|d}||}|d|_ | |_ dSd|_ d|_ dS)Nr) rrMrNattr isinstancerrGetRefTypeInfoGetDocumentationr[ GetTypeAttr aliasAttr)r>typeinforgr=rRaihrefalinfos rrNzAliasItem.__init__s tS))) "X b%  "Z1s%;%; "a5D,,T22F"33B77DM#//11DNNN DM!DNNNrc|jrdS|jrP|jd}||vr||||t|jddz|z|n|jd}t |trp t|}td|jdd||n?#t$r2t|jddzt|z|YnwxYwt|d|_dS) Nrz = r+rez# =z# = None # Can't convert alias info r) bWrittenr[r\r-r=rgrhrmapVTToTypeStringKeyErrorr )r> aliasDictr5depNamerntypeStrs rr\zAliasItem.WriteAliasItemsD =  F = mA&G)##'"11)VDDD $(1+%/f = = = = =2B"c"" /3G6tx{66W66VDDDDD &KKcRTggU# 6 s/B449C0/C0r )rDrErFr<rYrNr\rrrrbrbsA EH " " " "rrbc$eZdZdZdZddZdZdS)EnumerationItemr ENUMERATIONNctj|||d|_i|_|d}|t jzp|t jz|_t|dD]T}| |}| |dd}tj ||j|<UdS)Nr ) rrMrNrOmapVars pythoncomTYPEFLAG_FHIDDENTYPEFLAG_FRESTRICTEDhiddenrange GetVarDescGetNamesMapEntry) r>rmrgr=rR typeFlagsjvdescnames rrNzEnumerationItem.__init__s tS)))!W  H  2 2 :999 tAw 7 7A''**E$$U1X..q1D!&!6!6DL   7 7rc d}|jd}t|jD]}|j|}|j}|dtjkr|d}t |} t|ddn,#t$r| dd}d|d}YnwxYwtd tj |d d d |d d|||dz }|S)Nrrzeval"'z7" # This VARIANT type cannot be converted automatically T30rr10z # from enum r+) r=sortedrrr VAR_CONSTreprcompile SyntaxErrorreplacer-rMakePublicAttributeName) r>r5numenumNamerr6rvaluses rWriteEnumerationItemsz%EnumerationItem.WriteEnumerationItemss8A;4<((  DL&EJEQx9...Ah3iiCV4444"++c3//CXCXXXCC 4T4@@@@@####xxQ q s(A::&B#"B#r )rDrErFr<rYrNrrrrrzrzsA EH7777*rrzceZdZdZdZdZdS) VTableItemrc>||d|_dSr )WriteVTableMaprsrTs rrVzVTableItem.WriteClasss! I&&& rc ||j}td|j|jfz|t|jd||jD]Q}|\}}}|jt jksJg}d}tdd||D]B} tt| dd||d z }|d zdkrtd d|Ctd ||j |j fzd||j D]} |d z }|d zdkrtd d|tj | } | d d} nt| d } tt| d| d | | fdd|tdd|tt|jdd|tt|jdd|tt|jdd|tt|jdd|tt|jdd|tt|jdd|tt|jdd|td|Std|t|dS)Nz%s_vtables_dispatch_ = %dr+z _vtables_ = [rz (( )endr,,rz z), %d, (%r, %r, [z],z)),])r,r- python_name bIsDispatch vtableFuncsdesckindrDESCKIND_FUNCDESCrr2 scodeArrayargsrrfunckindinvkindcallconv cParamsOptoVftrettype wFuncFlags) r>rUr5vr3rr arg_reprsitem_numrargdefval arg3_reprs rrzVTableItem.WriteVTableMaps '4+;T=M*N N     !000v>>>>!% &% &A"# E64=I$?????IH &c / / / / < <d4jj#3V<<<<A a<1$$*#F;;;; #vtz4?&KK     y  A a<1$$*#F;;;;1#66q6> $II $SV I#a&#a&&)<==sRX $Cf - - - - $t}%%s& A A A A $t|$$cs @ @ @ @ $t}%%s& A A A A $t''#F C C C C $ty//3Cf = = = = $t|$$cs @ @ @ @ $t''#F C C C C %f % % % % % c 6rN)rDrErFr<rVrrrrrrs7 E.....rrc8eZdZdZd dZdZdZdZdZdZ dS) DispatchItemrNcftj||||||_d|_dSr;)rrrN type_attr coclass_clsid)r>rmrgr=s rrNzDispatchItem.__init__1s4 ##D(D#>>>!rc<|js|jjtjksdS|jr+||||n*||| |t|j d|_ dS)Nr+r) rrtypekindrTKIND_DISPATCHbIsSinkWriteEventSinkClassHeaderWriteCallbackClassBodyWriteClassHeaderWriteClassBodyr-r,rsrTs rrVzDispatchItem.WriteClass6s  N+y/GGG F < +  * *9 5 5 5  ' ' 2 2 2 2  ! !) , , ,    * * * 9>"""" rc6||j}|j}td|jzdz||dr,tdt j|dz| tj|j }td|z|n#tj $rYnwxYwtd|j ||j td|ntd |j |t|d|_ dS) Nclass z(DispatchBaseClass):r+rr+ # This class is creatable by the name '%s' CLSID =  coclass_clsid = None coclass_clsid = ) checkWriteDispatchBaseClassr=r,r-rr_makeDocStringrProgIDFromCLSIDrO com_errorrrsr>rUr=r5progIds rrzDispatchItem.WriteClassHeaderGsS--///h h)),BBPPPP q6 D $-c!f555F C C C C .tz::F >&IPV     "    D  )4:))7777   % * 8 8 8 8 8 =t'9==F K K K K 6 4-B""B43B4c||j}|j}td|jzdz||dr,tdt j|dz| tj|j }td|z|n#tj $rYnwxYwtd|j ||j td|ntd |j |td |t||t|td |td |td |td|td|td|td|td|td|td|td|td|td|td|td|td|td|td|td|td|td|td |t|d|_ dS)!Nr:r+rrrz CLSID = CLSID_Sink = rrz/ _public_methods_ = [] # For COM Server supportz! def __init__(self, oobj = None):z if oobj is None:z self._olecp = Nonez else:z import win32com.server.utilz8 from win32com.server.policy import EventHandlerPolicyzL cpc=oobj._oleobj_.QueryInterface(pythoncom.IID_IConnectionPointContainer)z. cp=cpc.FindConnectionPoint(self.CLSID_Sink)zR cookie=cp.Advise(win32com.server.util.wrap(self, usePolicy=EventHandlerPolicy))z- self._olecp,self._olecp_cookie = cp,cookiez def __del__(self): try:z self.close()z except pythoncom.com_error:z passz def close(self):z if self._olecp is not None:zV cp,cookie,self._olecp,self._olecp_cookie = self._olecp,self._olecp_cookie,None,Nonez cp.Unadvise(cookie)z" def _query_interface_(self, iid):z import win32com.server.utilzA if iid==self.CLSID_Sink: return win32com.server.util.wrap(self))checkWriteEventBaseClassr=r,r-rrrrrrOrrr7rsrs rrz&DispatchItem.WriteEventSinkClassHeader]ss**,,,h h))C/f==== q6 D $-c!f555F C C C C .tz::F >&IPV     "    D  6 66VDDDD   % * 8 8 8 8 8 =t'9==F K K K K @vNNNN$''' 6 2@@@@ $62222 (v6666 k'''' 1???? IPV      ]     AOOOO c     @vNNNN $62222 jv&&&& "0000 /f==== l(((( "0000 /f==== g     )7777 3&AAAA /f==== Q     6 rc z|j}td|td|t|j|j|jD]}|j}t|j d}td|zdztj ||j ddd d d zd z||j r>|j dr1tdtj |j dz|t|d|_dS)Nz # Event Handlersr+zE # If you create handlers, they should have the following prototypes:rz# def z(selfdefaultNamedOptArgdefaultNamedNotOptArgdefaultUnnamedArgzpythoncom.MissingT) is_commentz):rz# )r,r-rr.r/r0r1rr)r3r BuildCallListr=rrs)r>rUr5r6fdescmethNames rrz#DispatchItem.WriteCallbackClassBodysq "0000 T     O " " $ $do&<&<&>&> @T@T@V@V   Q QEJE*5;q>::H %K(+''#       y QUYq\ Qg 4UYq\ B BBPPPP 6 rc *|j}ddddd}t|jD]}|j|}|jjt jksJ|jj}|jjt j zr|t j krb|jj t j kr}|t j krd}n7|t j kr||jjdf|d<|}||vr||||jjdf||<|js|js|r&t'd|z||jrt'd|z|||t-j|}|D]} t'| |t'd|t|jD]J} |j| }|js|js+|} | rt'd| d | d || }|j} | d } d }t3| jt j| || |}| jt j krd}n,| jt j krd}n| }||vr1||)|t j|f||<| jt j kr t'd t-j| d|d|Lt|jD]} |j| }|js|jsf|r7t'd| |||j} | jt jksJ| }| d }| d} t3| dt j| || |}| jt j krd}n,| jt j krd}n| }||vr1||)|t j|f||<| jt j kr[t'd t-j| d|d|t'd|t'd|t|jD]} |j| }|js|jsy| }|j} t-j| d }|d}n|dz }t'dt-j| | dt j|fz|t|j D]o} |j | }|js|jsR|j} tC| d }t'dt-j| | d| d|fz|pt'd||dr|d\}}}|d}||d}nd}d|zg}t'd|d|j"dd ||D]} t'| |t'd|t'd |t'd!|t'd"||drI|d\}}}|jjt jksJ|jj}|}nt j#t jz}d#}|d#kr(d$|jvr|jd$}t'd%|t'd&|t'd'|t'd(t j |fz|t'd)|t'd*|t'd+|z||d,r|d,\}}}|}t'd-|t'd.|t'd/|t'd0|t'd1|jj||fz||d2r|d2\}}}|d}||d3}nd}d4|zg}t'd5|z||D]} t'| |t'd6|t'd7|t'd8|dSdS)9N)countr]value_newenumrrz # Result is of type r+ze # The method %s is actually a property, but must be used as a method to correctly pass the argumentsz _prop_map_get_ = {z # Property 'z' is an object of type 'rrrz "z": rz+ # Method '{}' returns object of type '{}'rz }z _prop_map_put_ = {z" "%s" : ((%s, LCID, %d, 0),(%s)),z "%s": ((%s, LCID, %d, 0),%s),rmethod__call__propertyz4 def __call__(self): return self._ApplyTypes_(*%s)z # Default z for this class is 'z def __str__(self, *args):z" return str(self.__call__(*args))z def __int__(self, *args):z" return int(self.__call__(*args))NoneItemz def __iter__(self):z, "Return a Python iterator for this object"rz9 ob = self._oleobj_.InvokeTypes(%d,LCID,%d,(13, 10),())z except pythoncom.error:z> raise TypeError("This object does not support enumeration")z. return win32com.client.util.Iterator(ob, %s)r]z^ #This class has Item property/method which allows indexed access with the object[key] syntax.zQ #Some objects will accept a string or other type of key in addition to integers.z? #Note that many Office objects do not use zero-based indexing.z def __getitem__(self, key):zZ return self._get_good_object_(self._oleobj_.Invoke(*(%d, LCID, %d, 1, key)), "Item", %s)r__len__z3 def __len__(self): return self._ApplyTypes_(*%s)z; #This class has Count() %s - allow len(ob) to provide thiszP #This class has a __len__ - this is needed so 'if object:' always returns TRUE.z def __bool__(self):z return True)$r,rr1rrrrr2rFUNCFLAG_FRESTRICTEDDISPID_NEWENUMr FUNC_DISPATCH DISPID_VALUErlower bBuildHiddenr GetResultNamer- wasPropertyMakeFuncMethodrrpropMapr%DISPATCH_PROPERTYGETGetResultCLSIDStrr.formatrDISPATCH_PROPERTYPUTr0rr3DISPATCH_METHOD)r>rUr5 specialItemsrr6rlkeyrlinekey resultNamedetails resultDescargDescmapEntry defArgDesc invoketypepropArgsrY enumEntryrr$s rrzDispatchItem.WriteClassBodys    4=))% -% -DM$'E:&)*EEEEEZ%F % (FF i666z"i&===///9333,15:3Et+L Z(zz|| $$d);)C&+UZ-?%F T"% -U\ -&&((Y2U5H5H5J5JJQWXXXX$A# ))%1Nt1T1TUU--D$V,,,,, $62222$,'', , CL%E%* U\* "0022 U3UU UUU#yy{{*$QZ +M2++-- =I$:::"DD]i&>>>%DD99;;DL((\$-?-G!6 *L&} (@@@ NE9#>>NN8NNN$/**, , COC(E%* U\* &&((GNN!4!4!6!6$   *'9+FFFFFyy{{!!*$QZ +AJ2++-- =I$:::"DD]i&>>>%DD99;;DL((\$-?-G!6 *L&} (@@@ NE9#>>NN8NNN e&!!!! $62222$,''  CL%E% U\ yy{{*"5gajAA %!#JJ#%J:5c:: !6"      $/**  COC(E% U\ *:71:FF 75c::  "       e&!!!!   G*6w*? 'E:x#))%<<%N NxNNU[^NNN     ) )d((((( /f = = = = 8v F F F F /f = = = = 8v F F F F  # !.::.F +Iz8>*i.IIIIIn,G$5577KK/)2PPG K & Vt}%<%<-/AACCK %F3333 >VLLLL jv&&&& J'1 2    +&9999 O     > L      *6v*> 'E:x1133K q     d     R     1 ? ? ? ? n:#Z=>       2*6w*? 'E:x#))%;;%MPXX N      ) )d((((( c     ) 7 7 7 7 #& 1 1 1 1 1 1/ 2 2rr;) rDrErFr<rNrVrrrrrrrrr.s E"""" ",;;;zB]2]2]2]2]2rrc,eZdZdZdZdggdfdZdZdS) CoClassItemrCOCLASSNrctj|||d|_||_||_d|_dS)Nrr)rrMrNrOsources interfacesr)r>rmrgr=rrrRs rrNzCoClassItem.__init__sA tS)))!W  $rc ||j}|j}|jtkrg}|jD]\}}|||jD]\}}||td||D]f}td|j d|j d|td |j |j |j |j |d|_ g tj|j}td|z|n#tj$rYnwxYwtd |j z||r"|drtd |dz|td |j|td |d}|jD]E\} }|tjzr| }| j r| j } n d | jd } td| d|Ftd||r.|j r|j } n d |jd } td| |td|d}|jD]E\} }|tjzr| }| j r| j } n d | jd } td| d|Ftd||r.|j r|j } n d |jd } td| |d|_ t|dS)Nz import sysr+z __import__('.z')z{} = sys.modules['{}.{}'].{}rz(# This CoClass is known by the name '%s'z'class %s(CoClassBaseClass): # A CoClassz # rz coclass_sources = [rz rz ]z default_source = z coclass_interfaces = [z default_interface = )checkWriteCoClassBaseClassr=r, generate_typeGEN_DEMAND_CHILDrrrr- base_mod_namerrrsrrrOrIMPLTYPEFLAG_FDEFAULT) r>rUr=r5referenced_itemsrefflagrdefItemr]rdefNames rrVzCoClassItem.WriteClasss,,...h  "&6 6 6! !\ - - T '',,,,!_ - - T '',,,, ,V , , , ,' ! !P9#:PPS_PPP299!/    !  .tz::F <Gf U U U U U"    D  59I JQW      03q6 0 &3q6/ / / / / )4:))7777 %F3333, . .JD$i55 } (&'$*''' ----f - - - - - e&!!!!  @ /!-.gm... 111 ? ? ? ? (v6666/ . .JD$i55 } (&'$*''' ----f - - - - - e&!!!!  C /!-.gm... 47446 B B B B  6s4-D""D43D4rXrrrrrsP EH+/UVMMMMMrrcHeZdZdZdZdZd dZd dZdZdZ d Z d Z dS) GeneratorProgresscdSr;rrBs rrNzGeneratorProgress.__init__7rWrc||_dS)zCalled when the process starts.N)tlb_desc)r>r#s rStartingzGeneratorProgress.Starting:s   rcdS)z$Called when the process is complete.NrrBs rFinishedzGeneratorProgress.Finished>rNcdS)zyWe are entering a major step. If maxticks, then this is how many ticks we expect to make until finished Nr)r>rmaxtickss rSetDescriptionz GeneratorProgress.SetDescriptionAr'rcdS)z>Minor progress step. Can provide new description if necessaryNrr>rs rTickzGeneratorProgress.TickFr'rcdS)zVerbose/Debugging output.Nrr,s rVerboseProgressz!GeneratorProgress.VerboseProgressIr'rcdS)zIf a warning is generatedNrr,s r LogWarningzGeneratorProgress.LogWarningLr'rcdSr;rr>filenames rLogBeginGeneratez"GeneratorProgress.LogBeginGenerateOrWrcdSr;rrBs rClosezGeneratorProgress.CloseRrWrr;) rDrErFrNr$r&r*r-r/r1r5r7rrrr r 6s   !!!333    MMMM((((((        rr c|eZdZ ddZdZdZdZdZdZdd Z d Z d Z dd Z dZ dZdZdZdZdZdZdS) Generatorrcvd|_d|_d|_||_||_||_||_d|_dSrL)bHaveWrittenDispatchBaseClassbHaveWrittenCoClassBaseClassbHaveWrittenEventBaseClasstypelibsourceFilenamerprogressr,)r>r>r?progressObjectrs rrNzGenerator.__init__WsE./*,-)*+' ,(&  rcRg}t|jD]}}|j|}|j|}|j|}|}|||||f~|Sr;)rr>GetTypeInfoCount GetTypeInfoGetTypeInfoTyperjrkr)r>riinfoinfotyper=rgs rCollectOleItemInfosFromTypez%Generator.CollectOleItemInfosFromTypehst|446677 4 4A<++A..D|33A66H,//22C##%%D JJhT2 3 3 3 3 rc |\}}}}g}t|dD]}||} |||} n#tj$rYRwxYw| } ||| j| | d| |ft|||} | |fS)Nrrf) rGetImplTypeFlagsriGetRefTypeOfImplTyperrrkrrrjr) r>type_info_tuplerGrHr=rg child_infosrflagsrefTyperefAttrnewItems r_Build_CoClasszGenerator._Build_CoClassrs$3!hT tAw  A))!,,E --d.G.G.J.JKK&    ))++G   $,,R00     dD#.. ##s(A  A21A2c,i}i}|D]?\}}} } } } | jtjks+| jtjkr | dtjzr| d} | |vr || }nt | | | }|||j<|j|_| tjzrd|_ || f||j<n || f||j<| |vr| dtj zrq| | d} | } | jtjks Jdt| | | }||| <At||_t||_dS)Nr}rrrfzmust be interface bynow!)rrrTKIND_INTERFACETYPEFLAG_FDISPATCHABLErrOrIMPLTYPEFLAG_FSOURCErTYPEFLAG_FDUALrirLrkrlistr/rr)r>coclass coclass_infooleItems vtableItemsrrrG info_typerPr=rQrOrOdispItem vtableItems r_Build_CoClassChildrenz Generator._Build_CoClassChildrens =I 4 4 9D)Wc7E9#;;; I$===BK)"BB>  H$$'HH+GWcBBH/7HX^,)0&999C'(H$/7.?GHN++2:E1BJx~. ++ i>V0V+%44W5Q5QRT5U5UVVG%1133G"+y/HHHH2IHH",GWc!B!BJ)3K&w~~//00!*"3"3"5"566rc|\}}}}dx}}|tjks%|tjkr|dtjzrrt |||}|jtjzrK|d}||}| }tj}nd}|dtjfvs Jd|tjkrt|||}||fS)Nr}rfz&Must be a real interface at this point) rrrUrVr wTypeFlagsrXrLrirkr) r>rMrGrHr=rgoleItemr`refhtypes r_Build_InterfacezGenerator._Build_Interfaces$3!hT##* y/ / /  1 1 1R9;; 2#4s33G!99 44R88**844''))$4   %     4    y0 0 0#D$44J ""rc|js Jdi}i}i}i}|D]M}|\}}}} | d} |tjks|tjkr"t || |} | || jd<T|tjtjfvr)| |vr$| |\} } | || <| | || <|tj ks|tj krt|| |} | || j <|tjkr|tjkr<||\} }|| |||| || j <0|jd|zO||||fS)NzOThis code doesn't look at the hidden flag - I thought everyone set it true!?!?!rzUnknown TKIND found: %d)rrIr TKIND_ENUM TKIND_MODULErzr=rrUrf TKIND_RECORD TKIND_UNIONrHrO TKIND_ALIAS TKIND_COCLASSrSrar@r1)r>r\ enumItems recordItemsr]rMrGrHr=rgrOrRrdr`rNs rBuildOleItemsFromTypezGenerator.BuildOleItemsFromTypes   ]      #??AA O OO(7 %D(CGE9///8y?U3U3U)$c::,3 '+a.))i6 8QRRR((*.*?*?*P*P'GZ&-HUO!--7 E*I222h)BW6W6W$T455-4 GM**Y222Y444'+':':?'K'K$++G[(KXXX*1'' (()BX)MNNNNK<r4rt temp_filenames r open_writerzGenerator.open_writers,..x88 M4(;;;;rc|||}|rtj||dS tj|tj|dS#t $rYdSwxYwr;)closeruosrunlinkOSError)r>r4fworkedrws r finish_writerzGenerator.finish_writers  ..x88   J}h / / / / /  (### -(((((    s(A.. A<;A<c2d|tjfzS)Nz %s.%d.temp)r{getpidr3s rruzGenerator.get_temp_filenamesx555rrc|r t|_n t|_||_|d|_|jdSr;)GEN_DEMAND_BASErGEN_FULLr, do_generater@r&)r>r, is_for_demands rgeneratezGenerator.generate sW  *!0D  !)D          rch|j}|jd}d}|dr|d}d|_d|_d|_|jjsJ|j|jj}td|d|jtdt|jtd tj d d |j|jrBtd tj|jdd |jtdt%jt%jz|jtt)j||jtdt|jtdtjd|jt|jtd|jtd|jtd|jtd|jt|jtd|jtd|jtd|jtd|jtd|jt|jtd|d|jtd|d|jtd|d|jtd |d!|jtd"t/|dz|jt|jdS)#Nrfrrrz# -*- coding: z -*-r+z# Created by makepy.py version z# By python version {} -z# From type library 'rz# On %szmakepy_version = zpython_version = 0xxz:import win32com.client.CLSIDToClass, pythoncom, pywintypeszimport win32com.client.utilzfrom pywintypes import IIDz$from win32com.client import DispatchzC# The following 3 lines may need tweaking for the particular serverz;# Candidates are pythoncom.Missing, .Empty and .ArgNotFoundz"defaultNamedOptArg=pythoncom.Emptyz%defaultNamedNotOptArg=pythoncom.Emptyz!defaultUnnamedArg=pythoncom.EmptyzCLSID = zMajorVersion = rzMinorVersion = rzLibraryFlags = rzLCID = )r> GetLibAttrrjr;r<r=r,rtr-makepy_versionrsysversionrr?r{pathsplittimectimerr hexversionhex)r>la moduleDocdocDescrts rdo_gen_file_headerzGenerator.do_gen_file_headers \ $ $ & &L11"55  Q< #lG./*,-)*+'y!,,49,,!9% -x---DI>>>> @@@tyQQQQ $ + +CK,?,?c,J,J K K        P d6I(J(J1(MPPPY     i$*TY[[111 BBBB e"7++$)<<<< 4.4449EEEE 6CN666TYGGGG 49 Hty     +$)<<<< *;;;; 449EEEE 49 Q      I     2CCCC 5DIFFFF 1 BBBB 49 "A""3333 '1''di8888 '1''di8888 '1''di8888 i#be**$495555 49rc |jd}|j}d}|dr|d}|j||jd||\}}}}|jdt|t|zt|z|rtd|d}t| D]3} || |z }|j 4|std |t||jtkrtt!d| D]0} |j | |1t| D]0} |j | |1n7|j t|t|ztd || D]Y} | jdd | jd } | jt(jkrtd | d|Etd| |Ztd|t||jtkrtd|| D]-} | )| jr"td| jd| jd|.td|td|td|td|td|| D]$} td| jd| jd |%td|t|ntd|td|| D]&} | "td| jd| jd|'td|td|td|| D]$} td| jd| jd |%td|t|t|i} | D](} | $t1| t2s| j| | j<)| D]} | j| | j<td|| D]\}}td|d|d |td|t||rtd|t|dS) Nrfrr)Building definitions from type library... Generating...zclass constants:r+rz passz RecordMap = {z: 'z',z ###z9# Record disabled because it doesn't have a non-null GUIDr}zCLSIDToClassMap = {z 'z' : rzCLSIDToPackageMap = {}zFwin32com.client.CLSIDToClass.RegisterCLSIDsFromDict( CLSIDToClassMap )zVTablesToPackageMap = {}zVTablesToClassMap = {z' : 'zCLSIDToClassMap = {}zCLSIDToPackageMap = {zVTablesToClassMap = {}zVTablesToPackageMap = {zNamesToIIDMap = {z>win32com.client.constants.__dicts__.append(constants.__dict__))r>rjr,r@r$r*rrplenr-rr/rr-rrfilterrVr=rOrIID_NULLrsrrhritems)r>rr5rr\rnror] num_writtenoleitemrecord record_strr]mapriids rrzGenerator.do_generateQsL11"55  Q< #lG w''' $$%PQQQ !!!8<8R8R8T8T5)[+ $$ S]]S^^;c+>N>NN     $6 2 2 2 2K!)"2"2"4"455 % %w<AAA# #F # # # # * 8 8 8 8 X     ,6 : : : : ) 7 7 7 7#**,, P PADJAAT-=AAAOOOOO #F # # # # v      (v 6 6 6 6 ) 7 7 7 7 ))  #CdjCCd.>CCC# #F # # # # * 8 8 8 8 +& 9 9 9 9#**,, P PADJAAT-=AAAOOOOO #F # # # # v     6OO%% 3 3D 4(E(E(, D$%&&(( / /D$(JC ! ! !//// 9 9ID# ***3*** 8 8 8 8 8 c 6   P     6rc 2t|_|j}|d}|d}|d}|d}dt |ddzd|d|d|z|_ i}i} |} d} | D]} | \} }}}|tjkr| | \}}tj |d|k} | s.|D]+\} }}}}}tj |d|krd} n,| r$|||j <| |||| n| sj| D]g} | \} }}}|tjtjfvrDtj |d|kr&d} || \}}|||<||| |<h| sJd |d i}|D] \}}|df||< | D]1\}}||d}| |d|f}nd|f}|||<2|jd t+||D]\}}|p|} |jr Jd t0j|| jd z}!d}"||!|_ |||||||jd}"t?j |j!dd5|"|!|j|"dddn #1swxYwYd|_#t?j |j!dd5|"|!|j|"dddn #1swxYwYd|_wxYw |j#dS#|j#wxYw)zRGenerate a single child. May force a few children to be built as we generate depsrrrrzwin32com.gen_py.rfrNzCan't find the 'z/' interface in the CoClasses, or the interfacesrzalready have a file?z.pyFTr)$rrr>rr rrIrrmrSrrrOrarUrrfrgetr@r*rr/r,r{rjoinrrxdo_gen_child_itemr-r ModuleMutexrrr&)#r>childdirrlcidrOmajorminorr\r]infosfoundrMrGrHr=rg coClassItemrNr^rPrQrOrdr`rrrexistingnew_valr vtableiteman_itemout_namers# rgenerate_childzGenerator.generate_childsv- \ $ $ & &!u111 UAbD!1 14N4N4Nu4N4Nu4N4N N T % HK4466EE#(  ,;)hTy666/3/B/B?/S/S,K!9#a&AAUJE &) & & %##!$2O;0M O;M O; M ! O;-3O O = O O OO  OO;;Pc|jd}d}|dr|d}|j||jd||||jr6td |j |j |j dSdS)Nrfrrrz6win32com.client.CLSIDToClass.RegisterCLSID( "{}", {} )r+) r>rjr@r$r*rrVrsr-rrOrr,)r>rrrs rrzGenerator.do_gen_child_item%sL11"55  Q< #lG w''' $$%PQQQ !!!4      HOOM7#6Y         rcR|jstd|jd|_dSdS)Nz-from win32com.client import DispatchBaseClassr+r)r;r-r,rBs rrz%Generator.checkWriteDispatchBaseClass6s;1 3 A R R R R12D . . . 3 3rcR|jstd|jd|_dSdS)Nz,from win32com.client import CoClassBaseClassr+r)r<r-r,rBs rrz$Generator.checkWriteCoClassBaseClass;s;0 2 @ty Q Q Q Q01D - - - 2 2rc&|js d|_dSdSr )r=rBs rrz"Generator.checkWriteEventBaseClass@s%. 0./D + + + 0 0rN)r)rq)r)rDrErFrNrIrSrarfrprxrrurrrrrrrrrrrr9r9Vs2  "$$$6777B###2&=&=&=P < < < <   666!!!!;;;zpppd`%`%`%D"333 222 00000rr9__main__zEThis is a worker module. Please use makepy to generate Python files.)0__doc__r{rr itertoolsrrrrrrrrrVT_I2VT_I4VT_R4VT_R8VT_BSTRVT_BOOL VT_VARIANTVT_I1VT_UI1VT_UI2VT_UI4VT_I8VT_UI8VT_INTVT_DATEVT_UINTrtrr%r)r7r9rMrHr`rbrzrrrr r9rDr-rrrrs   "  OU OUOWOW  u  u &OUeeeOUee u!4          "@@@@@@@@         *555 ))))) |)))X66666em\666r55555!<555pj2j2j2j2j25%|j2j2j2Z XXXXX%-XXXv        @n0n0n0n0n0n0n0n0b z E QRRRRRr