[Checkins] SVN: zc.recipe.zope3instance/branches/gocept-zconf-slug-dev/src/zc/recipe/zope3instance/__init__.py enable copying directories

Christian Zagrodnick cz at gocept.com
Wed Dec 6 10:35:12 EST 2006


Log message for revision 71453:
  enable copying directories

Changed:
  U   zc.recipe.zope3instance/branches/gocept-zconf-slug-dev/src/zc/recipe/zope3instance/__init__.py

-=-
Modified: zc.recipe.zope3instance/branches/gocept-zconf-slug-dev/src/zc/recipe/zope3instance/__init__.py
===================================================================
--- zc.recipe.zope3instance/branches/gocept-zconf-slug-dev/src/zc/recipe/zope3instance/__init__.py	2006-12-06 15:18:56 UTC (rev 71452)
+++ zc.recipe.zope3instance/branches/gocept-zconf-slug-dev/src/zc/recipe/zope3instance/__init__.py	2006-12-06 15:35:12 UTC (rev 71453)
@@ -140,8 +140,6 @@
             user = ''
             ))
 
-        self.installSkeleton(options['skeleton'], config_dir, options)
-
         # install subprohrams and ctl scripts
         zc.buildout.easy_install.scripts(
             [('runzope', 'zope.app.twisted.main', 'main')],
@@ -180,12 +178,25 @@
                          ),
             )
 
+        self.installSkeleton(options['skeleton'], config_dir, options)
+
         return dest, os.path.join(options['bin-directory'], self.name)
 
     def installSkeleton(self, src, dest, options):
-        # XXX: this will fail with subdirs
+        
+        try:
+            os.stat(dest)
+        except OSError:
+            os.mkdir(dest)
+
         for name in os.listdir(src):
-            shutil.copy(os.path.join(src, name), dest)
+            src_name = os.path.join(src, name)
+            if os.path.isdir(src_name):
+                self.installSkeleton(src_name,
+                                     os.path.join(dest, name),
+                                     options)
+            else:
+                shutil.copy(os.path.join(src, name), dest)
 
         for name in os.listdir(dest):
             if not name.endswith('.in'):



More information about the Checkins mailing list