oidddlZddlZddlZddlZddlZddlZddlZddlZeej ej ddZ GddZ e eje_e eje_gdZdZdZdejzZd Z d d Zd Zd ZdZdZd!dZd"dZd#dZd#dZdZdZ dZ!dZ"dZ#de$de$fdZ%dZ&e'dkr e&dSdS)$Nzpywin32_postinstall.logwc eZdZdZdZdZdS)Teec||_dSN)f)selffiles QC:\PYTHON\Scheduler\python\Lib\site-packages\../../Scripts/pywin32_postinstall.py__init__z Tee.__init__s c|j@ |j|ddn#t$rYnwxYwt|dS)N z )rwritereplaceOSErrortee_f)r whats r rz Tee.writesl 6   T\\$778888     Ds.8 AAc|j+ |jn#t$rYnwxYwtdSr)rflushrr)r s r rz Tee.flush#sQ 6        s # 00N)__name__ __module__ __qualname__r rrr r rrsAr r))zwin32com.servers.interp Interpreter)zwin32com.servers.dictionaryDictionaryPolicy)z!win32com.axscript.client.pyscriptPyScriptSoftware\Python\PythonCore\c tjtjtdtjtjS#t $rtjcYSwxYw)Nr)winregOpenKeyHKEY_LOCAL_MACHINE root_key_nameKEY_CREATE_SUB_KEYrHKEY_CURRENT_USERrr r get_root_hkeyr'@sa(  %}a9R   (( (((''''(s;>AAcddl}ddlm}||jd|j|j} | || ||r| ||r| ||s|r| ||| |j } | |ddS)Nr)shell) pythoncomwin32com.shellr*CoCreateInstanceCLSID_ShellLinkCLSCTX_INPROC_SERVERIID_IShellLinkSetPathSetDescription SetArgumentsSetWorkingDirectorySetIconLocationQueryInterfaceIID_IPersistFileSave) path descriptionfilename argumentsworkdiriconpath iconindexr+r*ilinkipfs r create_shortcutrBNs$$$$$$  & &  &    E  MM$ %%%& 9%%%+ !!'***393 h 222   y9 : :CHHXqr cddlm}m}dD]1}||kr)t ||}|d|dcS2t |d)Nrr*shellcona> CSIDL_COMMON_STARTMENU CSIDL_STARTMENU CSIDL_COMMON_APPDATA CSIDL_LOCAL_APPDATA CSIDL_APPDATA CSIDL_COMMON_DESKTOPDIRECTORY CSIDL_DESKTOPDIRECTORY CSIDL_COMMON_STARTUP CSIDL_STARTUP CSIDL_COMMON_PROGRAMS CSIDL_PROGRAMS CSIDL_PROGRAM_FILES_COMMON CSIDL_PROGRAM_FILES CSIDL_FONTSFz is an unknown path ID)r,r*rEsplitgetattrSHGetSpecialFolderPath ValueError) path_namer*rEmaybecsidls r get_special_folder_pathrMhs........+ ,1577 AA I  He,,E//5%@@ @ @ @   999 : ::r c.ddl}ddl} |||ddS#|j$re}|jdkrt rd|d|j}|d|d|j}||j kr||j krYd}~dSYd}~nd}~wwxYw)NrrzError zY If you have any Python applications running, please close them now and select 'Retry' zInstallation Error) win32apiwin32conCopyFileerrorwinerrorsilentstrerror MessageBoxMB_ABORTRETRYIGNOREIDABORTIDIGNORE)descsrcdestrPrQdetails full_descrcs r CopyToraws OOOOOO    c4 + + + F~   1$$ SSS@G@PSS  $$92H4PBX%%%x((()((((!  s$ BABBcddl}ddl}d|jjvrdnd}d|tjjtjj|fz}tj |d|}|j ||}|j |||}|j |}||dS)Nrz_d.pyd_dr(z %s%d%d%s.dllpywin32_system32)nameloaderorigin)importlib.machineryimportlib.util machineryEXTENSION_SUFFIXESsys version_infomajorminorosr9joinExtensionFileLoader ModuleSpecutilmodule_from_spec exec_module)lib_dirmodname importlibsuffixr;rfspecmods r LoadSystemModuler}s!4!GGGTTRF   !H w||G%7BBH  4 4Wh G GF   ) )wvh ) W WD . ) )$ / /C sr c t}tj|t} tj||} tj||dtj|tr tdtd|d|d|| n#| wxYw | dS#| wxYw)Nrz-> \[z]=) r'r!r"r$ CreateKey SetValueExREG_SZverboseprintClose)key_name value_namevalue root_hkeyroot_keymy_keys r SetPyKeyValrsI~i77H !(H55   fj!V]E J J J QOMOOXOO OOeOOPPP LLNNNNFLLNNNNNs$CA B CB44CC$Fc t}tj|t} tj||dtj} tj||t rtdtd|d|d|n#|wxYw|r6tj ||t rtdtd|n4#t$r'}t|d|j }|dkrYd}~nd}~wwxYw|dS#|wxYw)Nrz -> DELETE rr]rT) r'r!r"r$ KEY_SET_VALUE DeleteValuerrr DeleteKeyrrGerrno)rr delete_keyrrrwhyrTs r UnsetPyKeyValrscI~i77H(Av7KLL   vz 2 2 2 NL=LLHLLzLLLMMM LLNNNNFLLNNNN  @  Xx 0 0 0 @>=>>H>>??? 3 CI66 q==  ==== sG!C- :BC-B11;C-,D7- D7DD7DD77E TcRddl}|r|jjj}n|jjj}i}t sd|d<t D]g\}}t|tj |}t|dd|d<t|dd|d<t||}||fi|hdS)NrrquietDllRegisterServerfinalize_registerDllUnregisterServerfinalize_unregister) win32com.server.registerserverregisterRegisterClassesUnregisterClassesr com_modules __import__rlmodulesrG)rwin32comfuncflagsmodule klass_namer|klasss r RegisterCOMObjectsrs####:'7'9 E g) 6k&!%,S2Et%L%L!"'.s4I4'P'P#$Z(( Ue r cJ|tjd}|rstj|d}tj|r$t dddt dd||StdntddddS)Nplatlibz PyWin32.chmHelpzHelp\Pythonwin Referencez@NOTE: PyWin32.chm can not be located, so has not been registeredT)r) sysconfig get_pathsrpr9rqisfilerrr)rrwchm_files r RegisterHelpFilers%'' 2 J7<<77 7>>( # # V d + + + 3T8 D D DO T U U U U14DIIII 4r ctddl}|tjd}t}|j|dd}|dz}dd|fd d |fd d |fg} |rl|D]h\}}} t j||} |rt j| |} t j| ddt j | | in|D]\}}} |r>t j ||} t j | || t j ||]#t$r'} t| d | j} | d krYd} ~ d} ~ wwxYwddlm} m}| |j|jdddS#ddlm} m}| |j|jddwxYw)zAdd (or remove) Pythonwin to context menu for python scripts. ??? Should probably also add Edit command for pys files also. Also need to remove these keys on uninstall, but there's no function to add registry entries to uninstall log ??? rNr Pythonwinz Pythonwin.exez -edit "%1"zASoftware\Microsoft\Windows\CurrentVersion\App Paths\Pythonwin.exer(z6Software\Classes\Python.File\shell\Edit with Pythonwincommandz;Software\Classes\Python.NoConFile\shell\Edit with PythonwinrTrrD)rprrr'r9rqr!rrrrr"rrrGrr,r*rESHChangeNotifySHCNE_ASSOCCHANGED SHCNF_IDLIST)rrwrp classes_root pythonwin_exepythonwin_edit_command keys_valskeysub_keyvalhkeyrrTr*rEs r RegisterPythonwinrsV III%'' 2 ??LGLL+GGM*]: U   I  " N  " I$  %.  !Wc' c::;!+D'::D!$aDDD  &/  !Wc %%~lC@@(w777 $\37777&sJ BBH1}}%}}}} 32222222   ')>d      32222222   ')>d    s8A6F AD+*F + E5EF EF ,F7cttjkr0 td}n.#t$rtd}YnwxYwtd} tjtt dz}n5#t$r(dtjj tjj fz}YnwxYwtj ||S)NCSIDL_COMMON_PROGRAMSCSIDL_PROGRAMSz\InstallPath\InstallGroupz Python %d.%d)r'r!r#rMr QueryValuer$rlrmrnrorpr9rq)fldr install_groups r get_shortcuts_folderr8s&333 =*+BCCDD = = =*+;<'z.old'zFAILED to rename 'z': ) rPrQrpr9rqdirname__file__rrremoverenamer)rPrQpyd_name pyd_d_namepy_namethis_pyd this_destexcs r fixup_dbircsOOOOOOw||BGOOH,=>> JJHbgooh.?@@+NNJgll27??8+<==xHHGz* ? ?v% 7>>( # # ?w(?(? ? ?7>>),,EWIWWHWWWIh''''Ih 222ChCCHCCCDDD ? ? ?=8====>>>>>>>> ? ? ?sA5F F8F33F8c ddl}tjtjt jdr>; "',,sz=99:::-224455  Wd334444',,..  2SZ?-ORVV-v/GG  D  w':;;;;      w////     Wl+++Wk***OOO Ibgll7,CDD E EE 86777$%%sz2, , %  - -w''..gll8T22-uc:::53D33c33444GLL^<<GLL-HII! sz))!((444$1--L " \4 @ @Iw~~i00- ),,, -   ~   1$$7>>#&&,FHKL #JJJ&s+++    K    A  ~ A A A1$$ K L L L ? @ @ @ @ @ @ @ @  A  9:::  ]__m444H*#D'22  * ( ) ) )  ,---KKKC$(((  C A B B B  6777w||GZ::H 7== " "  4 222 3 3 3 $%% 7==   M',,t_55C  W&@AA#     86777 ?gll4)OPP@#s333?=>>> MK4KKKLLL  g         ?@@@@@s"D;; EE E"" E/.E/:EM N6A N10N11N6 OP P#*P PPP-Q  Q 7R-S S T-T76T7(DZ-- [7[  [[ [&%[&ct|dt|d tdn)#t$r}td|Yd}~nd}~wwxYw t d|t rtdn)#t$r}td|Yd}~nd}~wwxYw t d|t rtdn)#t$r}td|Yd}~nd}~wwxYw tj |d d }tj |r-tj |t rtd |tj |d d }tj tj |dD]}tj| tjtj |ddn#t$rYnwxYw tjtj |ddn#t$rYnwxYwn)#t$r}td|Yd}~nd}~wwxYw t!}dD]n}tj ||}tj|r-tj|t rtd|on)#t$r}td|Yd}~nd}~wwxYwtj tj |d} t%t&jfD]} d} |D]}tj|} tj | | } tj| rS tj| d} t rtd| z#t$rtd| YwxYw| rdSdS#t$r}td|Yd}~dSd}~wwxYw)Nrr+Fz"Failed to unregister COM objects: zUnregistered help filez Failed to unregister help file: zUnregistered Pythonwinz Failed to unregister Pythonwin: rrzRemoved directory rpywinz*.cfcwin32z dbi.pyd.oldz dbi_d.pyd.oldzFailed to remove misc files: )rrzRemoved zFailed to remove shortcuts: rrrzRemoved file %szFAILED to remove zFAILED to remove system files: )r}rrrrrrrpr9rqrshutilrmtreerrrrrrrlrr) rwrgen_dir pywin_dirrrlinkfqlinkrrrrrs r uninstallr 's5Wl+++Wk***:5!!!! ::: 838899999999:,(((  , * + + + 888 666777777778 ,%)))  , * + + + 888 666777777778 5',,w H== 7== ! ! 6 M' " " " 64744555GLL+w?? Yrw||Iw??@@  E Ie      Ibgll7G]CC D D D D    D   Ibgll7G_EE F F F F    D  555 3c33444444445 4#%%M - -DW\\$--Fw~~f%% - &!!!-+T++,,,  - 444 2S22333333334 Ibgll7,CDD E EE7'))3:6  HF 9 9w''..gll8T227>>#&&99 #!""=!"3s";<<<$9997#77888889 9     777 5556666666667s2 AAAB B) B$$B)-C C:C55C:>CI 3H I HI HI 3II  II II J*JJ A?L L0L++L0&BQ'/PQP63Q5P66Q?Q Q) Q$$Q)locationreturnctj|}tj|st jd|d|S)NzPath "z" is not an existing directory!)rpr9abspathrargparseArgumentTypeError)rs r verify_destinationrsUwx((H 7== " " ( >X > > >    Or cHtjtjd}|dddd|dddd |d td |d ddd|dddd|dt jdtd|}|j std||j |j z s| d|j, tj|jdn#t"$rYnwxYw|j}|j }|j rt|j|j rt)|jdSdS)NaA post-install script for the pywin32 extensions. * Typical usage: > python -m pywin32_postinstall -install * or (shorter but you don't have control over which python environment is used) > pywin32_postinstall -install You need to execute this script, with a '-install' parameter, to ensure the environment is setup correctly to install COM objects, services, etc. )formatter_classr:z-installF store_truez7Configure the Python environment correctly for pywin32.)defaultactionhelpz-removez7Try and remove everything that was installed or copied.z-waitzr.sj    GLL!   *S__ S__    03:=  ( ( (ST4 ; ; ;F&   .&$= = = = @---2---$???4gAgAgATU7U7U7|K$K$K$\ zDFFFFFr