a „oe(ã@sbddlZddlmZmZejZGdd„dƒZGdd„dƒZGdd„dƒZd d „Ze d kr^eƒdS) éN)Ú exceptionÚutilc@s4eZdZddgZejgZdd„Zdd„Zdd„Z d S) ÚBagÚReadÚWritecCs i|_dS©N)Údata©Úself©r ú6C:\Program Files\Certbot\pkgs\win32com\demos\trybag.pyÚ__init__ sz Bag.__init__cCsVtd|d|ƒ||jvrL|r@d}t ddddd|¡}| ||¡tj|d�‚|j|S)Nz read: name=ztype=lWrúBag.Readz no such item©Zscode)ÚprintrÚ pythoncomZ com_errorÚAddErrorrÚ Exception)r ÚpropNameZvarTypeZerrorLogÚhrÚexcr r r rs   rcCstd|d|ƒ||j|<dS)Nz write: name=zvalue=)rr)r rÚvaluer r r rsz Bag.WriteN) Ú__name__Ú __module__Ú __qualname__Ú_public_methods_rÚIID_IPropertyBagÚ_com_interfaces_r rrr r r r rs  rc@s@eZdZgd¢ZejejgZdd„Zdd„Z dd„Z dd „Z d S) ÚTarget)Ú GetClassIDÚInitNewÚLoadÚSavecCstjdd�‚dS)Nl@r)rrr r r r r!szTarget.GetClassIDcCsdSrr r r r r r $szTarget.InitNewcCsTt| dt|¡ƒt| dt|¡ƒzt| dt|¡ƒWntjyNYn0dS)NÚprop1Úprop2Zprop3)rrÚVT_EMPTYrr)r ÚbagÚlogr r r r!'s z Target.LoadcCs| dd¡| dd¡dS)Nr#z prop1.hellor$z prop2.there)r)r r&Z clearDirtyZ saveAllPropsr r r r"/s z Target.SaveN) rrrrrZ IID_IPersistÚIID_IPersistPropertyBagrrr r!r"r r r r rs  rc@s"eZdZdgZejgZdd„ZdS)ÚLogrcCstd|d|ƒdS)Nzerror: propName=zerror=)r)r rZ excepInfor r r r8sz Log.AddErrorN)rrrrrÚ IID_IErrorLogrrr r r r r)4sr)cCsttƒ}tƒ}tƒ}| |dd¡| ||¡t |tj¡}t |tj ¡}t |tj ¡}| |dd¡| ||¡dS)Né) rrr)r"r!rÚwraprrr(r*)r&Útargetr'ZcomBagZ comTargetZcomLogr r r Útest<s r.Ú__main__) rZwin32com.serverrrr%rrr)r.rr r r r Ús