mς TγΈEc@s“dZdkZdklZdkZdkZeiieiddƒZ da eiieiddƒZ da d„Zd„Zd„Zd „Zd „Zd „Zd „Zd „Zd„Zd„Zdfd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZd efd!„ƒYZ dS("sdOpen database and storage from a configuration. $Id: config.py 39574 2005-10-24 16:14:22Z tim_one $N(sStringIOis config.xmls storage.xmlcCs$tdjotitƒantS(N(t _db_schematNonetZConfigt loadSchematdb_schema_path(((t*/data/zmath/zope/lib/python/ZODB/config.pyt getDbSchemas cCs$tdjotitƒantS(N(t _s_schemaRRRt s_schema_path(((RtgetStorageSchema%s cCstt|ƒƒS(N(tdatabaseFromFiletStringIOts(R ((RtdatabaseFromString+scCs(titƒ|ƒ\}}t|iƒS(N(RtloadConfigFileRtftconfigthandletdatabaseFromConfigtdatabase(RRR((RR .scCs(titƒ|ƒ\}}t|iƒS(N(Rt loadConfigRturlRthandlerRR(RRR((RtdatabaseFromURL2scCs |iƒS(N(tsectiontopen(R((RR6scCstt|ƒƒS(N(tstorageFromFileR R (R ((RtstorageFromString9scCs(titƒ|ƒ\}}t|iƒS(N(RRR RRRtstorageFromConfigtstorage(RRR((RR<scCs(titƒ|ƒ\}}t|iƒS(N(RRR RRRRR(RRR((RtstorageFromURL@scCs |iƒS(N(RR(R((RRDst BaseConfigcBs tZdZd„Zd„ZRS(s²Object representing a configured storage or database. Methods: open() -- open and return the configured object Attributes: name -- name of the storage cCs||_|iƒ|_dS(N(RtselftgetSectionNametname(R R((Rt__init__Us cCs t‚dS(s#Open and return the storage object.N(tNotImplementedError(R ((RRYs(t__name__t __module__t__doc__R#R(((RRHs  t ZODBDatabasecBstZdd„ZRS(NcCsw|i}|iiƒ}yDti|d|id|id|i d|i d|i d|ƒSWn|i ƒ‚nXdS(Nt pool_sizet cache_sizetversion_pool_sizetversion_cache_sizet database_namet databases(R RRRRtZODBtDBR)R*R+R,R-R.tclose(R R.RR((RR_s        (R%R&RR(((RR(]stMappingStoragecBstZd„ZRS(NcCsdkl}||iiƒS(N(sMappingStorage(tZODB.MappingStorageR2R RR"(R R2((RRps (R%R&R(((RR2nst DemoStoragecBstZd„ZRS(NcCsXdkl}|iio|iiiƒ}nd}||iid|d|iiƒS(N(s DemoStoragetbasetquota( tZODB.DemoStorageR4R RR5RRR"R6(R R5R4((RRvs   (R%R&R(((RR4tst FileStoragecBstZd„ZRS(NcCsAdkl}||iid|iid|iid|iiƒS(N(s FileStoragetcreatet read_onlyR6(tZODB.FileStorageR8R RtpathR9R:R6(R R8((RR‚s     (R%R&R(((RR8€st ZEOClientcBstZd„ZRS(NcCsΉdkl}g}|iiD]}||iq~}||d|iid|ii d|ii d|ii d|ii d|ii d|iid |iid |iid |iiƒ S( N(s ClientStorageRR*R"tclienttvartmin_disconnect_polltmax_disconnect_polltwaitR:tread_only_fallback(tZEO.ClientStoraget ClientStoraget_[1]R RtservertaddresstLRR*R"R>R?R@RARBR:RC(R RFRERIRG((RR‹s *         (R%R&R(((RR=‰st BDBStoragecBstZd„ZRS(NcCs‚dkl}|iƒ}|ƒ}xGt|ƒD]9}|idƒoq/nt ||t |i |ƒƒq/W||i i d|ƒS(N(sBerkeleyConfigt_R( tBDBStorage.BerkeleyBasetBerkeleyConfigR tget_storageclasst storageclasstbconftdirR"t startswithtsetattrtgetattrRtenvdir(R R"RPRMRO((RRŸs     (R%R&R(((RRJstBDBMinimalStoragecBstZd„ZRS(NcCsdk}|iiS(N(tBDBStorage.BDBMinimalStorageRJRV(R RJ((RRN«s (R%R&RN(((RRV©stBDBFullStoragecBstZd„ZRS(NcCsdk}|iiS(N(tBDBStorage.BDBFullStorageRJRX(R RJ((RRN±s (R%R&RN(((RRX―s(!R'tost cStringIOR RR/R<tjoint__path__RRRRRRR R R RRRRRRRR(R2R4R8R=RJRVRX(RRRR4RR(RXR8R RRRR/R2RRR R RRVRR R=RZRJ((Rt?s6