[Zope-Checkins] CVS: Zope/lib/python/Zope/Startup - datatypes.py:1.14

Chris McDonough chrism@zope.com
Sat, 2 Aug 2003 15:26:01 -0400


Update of /cvs-repository/Zope/lib/python/Zope/Startup
In directory cvs.zope.org:/tmp/cvs-serv24880/Zope/Startup

Modified Files:
	datatypes.py 
Log Message:
Be more careful about specifying a container class: root databases should not have a container class.


=== Zope/lib/python/Zope/Startup/datatypes.py 1.13 => 1.14 ===
--- Zope/lib/python/Zope/Startup/datatypes.py:1.13	Sat Aug  2 13:52:59 2003
+++ Zope/lib/python/Zope/Startup/datatypes.py	Sat Aug  2 15:25:57 2003
@@ -163,10 +163,6 @@
     """ A ZODB database datatype that can handle an extended set of
     attributes for use by DBTab """
 
-    def __init__(self, section):
-        self.container_class = section.container_class or 'OFS.Folder.Folder'
-        ZODBDatabase.__init__(self, section)
-
     def createDB(self):
         return ZODBDatabase.open(self)
 
@@ -214,7 +210,12 @@
         """
         for (virtual_path, real_root, real_path) in self.computeMountPaths():
             if virtual_path == mount_path:
-                return (real_root, real_path, self.container_class)
+                container_class = self.config.container_class
+                if not container_class and virtual_path != '/':
+                    # default to OFS.Folder.Folder for nonroot mounts
+                    # if one isn't specified in the config
+                    container_class = 'OFS.Folder.Folder'
+                return (real_root, real_path, container_class)
         raise LookupError('Nothing known about mount path %s' % mount_path)
     
 def getDefaultDatabaseFactories(context):