a „oe/ã@s\ddlZddlZddlZddlmZddlmZmZGdd„dƒZ gd¢Z Gdd„dƒZ dS) éN)Úaxscript)Ú exceptionÚutilc@sXeZdZdd„Zdd„Zddd„Zdd „Zdd d „Zd d„Zdd„Z dd„Z dd„Z dS)ÚAXEnginecCszd|_|_|_t|ƒtdƒkr6t |dtjtj¡}| t j ¡|_| t j ¡|_| t j ¡|_|j  |¡|j ¡dS)NÚ)ÚeScriptÚeParseÚeSafetyÚtypeÚ pythoncomZCoCreateInstanceZ CLSCTX_SERVERZ IID_IUnknownZQueryInterfacerZIID_IActiveScriptZIID_IActiveScriptParseZIID_IObjectSafetyZ SetScriptSiteZInitNew)ÚselfZsiteÚengine©rúCC:\Program Files\Certbot\pkgs\win32comext\axscript\server\axsite.pyÚ__init__ s ÿ zAXEngine.__init__cCs | ¡dS©N)ÚClose©r rrrÚ__del__szAXEngine.__del__NcCs |j |¡Sr)rÚGetScriptDispatch)r ÚnamerrrrszAXEngine.GetScriptDispatchcCs|j ||¡Sr)rÚ AddNamedItem)r ÚitemÚflagsrrrrszAXEngine.AddNamedItemrc Cs|j |ddddd|¡dS©Nr)rÚParseScriptText)r ÚcoderrrrÚAddCode!szAXEngine.AddCodec Cs|j |dddddtj¡Sr)rrrZSCRIPTTEXT_ISEXPRESSION)r rrrrÚEvalCode$sÿzAXEngine.EvalCodecCs|j tj¡dSr)rÚSetScriptStaterZSCRIPTSTATE_STARTEDrrrrÚStart)szAXEngine.StartcCs&|jr|j ¡d|_|_|_dSr)rrrr rrrrr0s zAXEngine.ClosecCs|j |¡dSr)rr©r Ústaterrrr5szAXEngine.SetScriptState)N)r) Ú__name__Ú __module__Ú __qualname__rrrrrrr rrrrrrrs  r)ÚGetLCIDÚ GetItemInfoÚGetDocVersionStringÚOnScriptTerminateÚ OnStateChangeÚ OnScriptErrorÚ OnEnterScriptÚ OnLeaveScriptc@s€eZdZdZeZejgZiddfdd„Z dd„Z e Z dd „Z d d „Z d d „Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„ZdS)ÚAXSitez>An Active Scripting site. A Site can have exactly one engine.NrcCs@||_i|_| ¡D]\}}||j|<qd|_|r<| |¡dSr)ÚlcidÚobjModelÚitemsr Ú _AddEngine)r r0r r/rÚobjectrrrrKs zAXSite.__init__cCspt|ƒtdƒkr"tt |¡|ƒ}n|}||_tjtjBtjBtj B}|j   ¡D]}|  ||¡|  tj¡qN|S)ziAdds a new engine to the site. engine can be a string, or a fully wrapped engine object. r)r rrÚwrapr rZSCRIPTITEM_ISVISIBLEZSCRIPTITEM_NOCODEZSCRIPTITEM_GLOBALMEMBERSZSCRIPTITEM_ISPERSISTENTr0ÚkeysrrZSCRIPTSTATE_INITIALIZED)r r Z newEnginerrrrrÚ AddEngineVs ÿþýÿ zAXSite.AddEnginecCs|j ¡i|_dSr)r rr0rrrrÚ_Closems z AXSite._ClosecCs|jSr)r/rrrrr&qszAXSite.GetLCIDcCs6||jvrtjtjdd�‚|tj@r2|j|dfSdS)Nzitem not found)ZscodeZdesc)NN)r0rÚ ExceptionÚwinerrorZTYPE_E_ELEMENTNOTFOUNDrZSCRIPTINFO_IUNKNOWN)r rZ returnMaskrrrr'ts ÿ zAXSite.GetItemInfocCsdS)NzPython AXHost version 1.0rrrrrr(�szAXSite.GetDocVersionStringcCsdSrr)r ÚresultZ excepInforrrr)„szAXSite.OnScriptTerminatecCsdSrrr!rrrr*‡szAXSite.OnStateChangecCstjSr)r9ZS_FALSE)r ZerrorInterfacerrrr+ŠszAXSite.OnScriptErrorcCsdSrrrrrrr,�szAXSite.OnEnterScriptcCsdSrrrrrrr-�szAXSite.OnLeaveScript)r#r$r%Ú__doc__ÚIActiveScriptSite_methodsZ_public_methods_rZIID_IActiveScriptSiteZ_com_interfaces_rr6r2r7r&r'r(r)r*r+r,r-rrrrr.Es  r.) r Zwin32com.axscript.axscriptZwin32comr9Zwin32com.axscriptrZwin32com.serverrrrr<r.rrrrÚs 1