]> git.parisson.com Git - tools.git/commitdiff
Use ZopeInstall to give paths
authoryomguy <yomguy@457c0346-1240-4656-8a5a-9edca8063506>
Fri, 23 Nov 2007 11:13:05 +0000 (11:13 +0000)
committeryomguy <yomguy@457c0346-1240-4656-8a5a-9edca8063506>
Fri, 23 Nov 2007 11:13:05 +0000 (11:13 +0000)
git-svn-id: http://svn.parisson.org/svn/tools/trunk@19 457c0346-1240-4656-8a5a-9edca8063506

zope_backup_all.py
zope_instance.py

index b580eaf62f6f9cccb303dbf963fa45d082881c1d..5e23e6ce15d9513a4ea3f79835a9e445da392e09 100755 (executable)
@@ -11,18 +11,15 @@ from zope_instance import *
 backup_dir = '/home/momo/backups/zope/'
 
 z = ZopeInstall()
-versions = z.versions
+instances = z.get_instances()
 instance_main_dir = z.instance_main_dir
 
 def backup_all():
-    for version in versions:
-       dir = instance_main_dir + os.sep + 'zope' + version + os.sep + 'instance'
-       if os.path.exists(dir):
-           instances = os.listdir(dir)
-           for instance in instances:
-               z = ZopeInstance(version, instance)
-               z.backup(backup_dir)
-              #print instance 
+    for version in instances:
+       for instance in instances[version]:
+            z = ZopeInstance(version, instance)
+            #z.backup(backup_dir)
+           print version + ': ' + instance + ' backuped !'
 
 if __name__ == '__main__':
     backup_all()
index 4b31622e3cf923f2bcc8e072ebb2302c9f660363..684d09f07e8cc958d3d4560e12aeecad77d212cc 100644 (file)
@@ -38,6 +38,18 @@ class ZopeInstall:
        self.zope_main_dir = '/usr/lib'
 
 
+    def get_instances(self):
+        """Return all instances in all zope versions installed"""
+        dict = {}
+        for version in self.versions:
+            #print version
+            path = self.instance_main_dir + os.sep + 'zope' + version + os.sep + 'instance'
+            if os.path.exists(path):
+                dict[version] = os.listdir(path)
+                #print dict
+        return dict
+
+
 class ZopeInstance(ZopeInstall):
     """Expose Zope instances to several python methods that simplifies admins' life
     (backup, recover, import, etc...)"""
@@ -53,17 +65,8 @@ class ZopeInstance(ZopeInstall):
         self.instance_var =self.instance_dir + os.sep + 'var' + os.sep
         self.repozo = self.zope_main_dir + os.sep + 'zope' + self.version + os.sep + 'bin' + os.sep + 'repozo.py'
 
-    def get_instances(self):
-        dict = {}
-        for version in self.versions:
-            #print version
-            path = self.instance_main_dir + os.sep + 'zope' + version + os.sep + 'instance'
-            if os.path.exists(path):
-                dict[version] = os.listdir(path)
-                #print dict
-        return dict
-
     def backup(self, backup_dir):
+       """Backup the instance"""
         self.backup_dir = backup_dir
        self.instance_backup_dir = self.backup_dir + os.sep + self.version + os.sep + self.instance
 
@@ -90,6 +93,7 @@ class ZopeInstance(ZopeInstall):
         print self.instance + ' backuped !'
 
     def recover(self):
+        """Recover the instance from a backup"""
         os.chdir(self.instance_backup_dir)
         command = 'tar xzf '+self.instance_backup_dir+os.sep+'Products.tar.gz && ' + \
                   'rsync -a --delete ' + self.instance_backup_dir+os.sep+self.instance_products + \