a oe/@s\ddlZddlZddlZddlmZddlmZmZGdddZ gdZ GdddZ dS) N)axscript) exceptionutilc@sXeZdZddZddZdddZdd Zdd d Zd dZddZ ddZ ddZ dS)AXEnginecCszd|_|_|_t|tdkr6t|dtjtj}|t j |_|t j |_|t j |_|j ||jdS)N)eScripteParseeSafetytype pythoncomZCoCreateInstanceZ CLSCTX_SERVERZ IID_IUnknownZQueryInterfacerZIID_IActiveScriptZIID_IActiveScriptParseZIID_IObjectSafetyZ SetScriptSiteZInitNew)selfZsiteenginerCC:\Program Files\Certbot\pkgs\win32comext\axscript\server\axsite.py__init__ s  zAXEngine.__init__cCs |dSN)Closer rrr__del__szAXEngine.__del__NcCs |j|Sr)rGetScriptDispatch)r namerrrrszAXEngine.GetScriptDispatchcCs|j||Sr)r AddNamedItem)r itemflagsrrrrszAXEngine.AddNamedItemrc Cs|j|ddddd|dSNr)rParseScriptText)r coderrrrAddCode!szAXEngine.AddCodec Cs|j|dddddtjSr)rrrZSCRIPTTEXT_ISEXPRESSION)r rrrrEvalCode$szAXEngine.EvalCodecCs|jtjdSr)rSetScriptStaterZSCRIPTSTATE_STARTEDrrrrStart)szAXEngine.StartcCs&|jr|jd|_|_|_dSr)rrrr rrrrr0s zAXEngine.ClosecCs|j|dSr)rrr staterrrr5szAXEngine.SetScriptState)N)r) __name__ __module__ __qualname__rrrrrrr rrrrrrrs  r)GetLCID GetItemInfoGetDocVersionStringOnScriptTerminate OnStateChange OnScriptError OnEnterScript OnLeaveScriptc@seZdZdZeZejgZiddfddZ ddZ e Z dd Z d d Z d d ZddZddZddZddZddZddZdS)AXSitez>An Active Scripting site. A Site can have exactly one engine.NrcCs@||_i|_|D]\}}||j|<qd|_|r<||dSr)lcidobjModelitemsr _AddEngine)r r0r r/robjectrrrrKs zAXSite.__init__cCspt|tdkr"tt||}n|}||_tjtjBtjBtj B}|j D]}| ||| tjqN|S)ziAdds a new engine to the site. engine can be a string, or a fully wrapped engine object. r)r rrwrapr rZSCRIPTITEM_ISVISIBLEZSCRIPTITEM_NOCODEZSCRIPTITEM_GLOBALMEMBERSZSCRIPTITEM_ISPERSISTENTr0keysrrZSCRIPTSTATE_INITIALIZED)r r Z newEnginerrrrr AddEngineVs  zAXSite.AddEnginecCs|ji|_dSr)r rr0rrrr_Closems z AXSite._ClosecCs|jSr)r/rrrrr&qszAXSite.GetLCIDcCs6||jvrtjtjdd|tj@r2|j|dfSdS)Nzitem not found)ZscodeZdesc)NN)r0r ExceptionwinerrorZTYPE_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.rrrrs 1