[Checkins] SVN: gocept.zope3instance/trunk/src/gocept/zope3instance/__init__.py - allowing multiple skeleton layers via

Christian Zagrodnick cz at gocept.com
Wed May 9 03:59:14 EDT 2007


Log message for revision 75641:
  - allowing multiple skeleton layers via 
    
      skeleton = foo bar baz
  
  
  

Changed:
  U   gocept.zope3instance/trunk/src/gocept/zope3instance/__init__.py

-=-
Modified: gocept.zope3instance/trunk/src/gocept/zope3instance/__init__.py
===================================================================
--- gocept.zope3instance/trunk/src/gocept/zope3instance/__init__.py	2007-05-09 07:58:40 UTC (rev 75640)
+++ gocept.zope3instance/trunk/src/gocept/zope3instance/__init__.py	2007-05-09 07:59:14 UTC (rev 75641)
@@ -37,10 +37,12 @@
             self.name,
             )
 
-        options['skeleton'] = os.path.join(
-            buildout['buildout']['directory'],
-            'skels', name)
+        skeletons = options.get('skeleton', name).split()
+        options['skeleton'] = '\n'.join(
+            os.path.join(buildout['buildout']['directory'], 'skels', name)
+            for name in skeletons)
 
+
         options['database-config'] = '\n'.join([
             buildout[section]['zconfig']
             for section in options['database'].split()
@@ -119,23 +121,27 @@
                          ),
             )
 
-        self.installSkeleton(options['skeleton'], options['config_dir'], options)
+        self.installSkeleton(options['skeleton'].split(),
+                             options['config_dir'],
+                             options)
         return dest, os.path.join(options['bin-directory'], self.name)
 
 
-    def installSkeleton(self, src, dest, options):
+    def installSkeleton(self, sources, dest, options):
         """Installs ZCML and config files by using given skeletons
         and configuration data from buildout.
 
         """
+        import pdb; pdb.set_trace() 
         if not os.path.exists(dest):
             os.mkdir(dest)
         if not os.path.isdir(dest):
             raise Exception("%dest is not a directory.")
 
+        sources = sources[:]
+        sources.insert(0, os.path.join(os.path.dirname(__file__), 'skel'))
         # Copy skeletons
-        for overlay in [os.path.join(os.path.dirname(__file__), 'skel'),
-                src]:
+        for overlay in sources:
             if os.path.isdir(overlay):
                 self._copy_skeleton(overlay, dest)
 



More information about the Checkins mailing list