mς ‹γΈEc@s_dZdklZlZdefd„ƒYZdefd„ƒYZdefd„ƒYZdS( s#Persistent Module Interfaces $Id$ (s Interfaces AttributetIPersistentModuleImportRegistrycBstZd„Zd„ZRS(NcCsdS(s,Return module registered under name or None.N((tname((t2/data/zmath/zope/lib/python/zodbcode/interfaces.pyt findModulescCsdS(s.Return a list of module names in the registry.N((((Rtmoduless(t__name__t __module__RR(((RRs tIPersistentModuleUpdateRegistrycBstZd„Zd„ZRS(NcCsdS(s`Register module under name. Raises ValueError if module is already registered. N((Rtmodule((Rt setModulescCsdS(sgUnregister module registered under name. Raises KeyError in module is not registered. N((R((Rt delModule$s(RRR R (((RRs tIPersistentModuleManagercBs;tZd„Zd„Zd„ZedƒZedƒZRS(NcCsdS(s3Create and register a new named module from source.N((Rtsource((Rtnew,scCsdS(s)Update the source of the existing module.N((tsrc((Rtupdate/scCsdS(s*Unregister the module and forget about it.N((((Rtremove2ssAbsolute module namesModule source string(RRR RRt AttributeRR (((RR *s     N(t__doc__tzope.interfacet InterfaceRRRR (RRRR R((Rt?s