pld-ftp-admin: modules/ftptree.py - be more verbose for testmvpkg

arekm arekm at pld-linux.org
Mon Jan 9 17:44:20 CET 2006


Author: arekm                        Date: Mon Jan  9 16:44:20 2006 GMT
Module: pld-ftp-admin                 Tag: HEAD
---- Log message:
- be more verbose for testmvpkg

---- Files affected:
pld-ftp-admin/modules:
   ftptree.py (1.28 -> 1.29) 

---- Diffs:

================================================================
Index: pld-ftp-admin/modules/ftptree.py
diff -u pld-ftp-admin/modules/ftptree.py:1.28 pld-ftp-admin/modules/ftptree.py:1.29
--- pld-ftp-admin/modules/ftptree.py:1.28	Mon Dec 26 03:43:22 2005
+++ pld-ftp-admin/modules/ftptree.py	Mon Jan  9 17:44:15 2006
@@ -24,16 +24,26 @@
 def pwarning(msg):
     print 'WARN: ' + msg
 
-def rm(file):
-    os.remove(file)
-    #print 'rm: '+file
-
-def mv(src, dst):
-    try:
-        os.rename(src, dst+'/'+src.split('/')[-1])
-    except OSError, e:
-        pinfo("os.rename(%s, %s): %s" % (src, dst+'/'+src.split('/')[-1], e))
-        raise
+def rm(file, test=False):
+    if test:
+        if not os.path.exists(file):
+            pinfo("TEST os.remove(%s): file doesn't exists" % file)
+    else:
+        os.remove(file)
+        #print 'rm: '+file
+
+def mv(src, dst, test=False):
+    fsrc = src
+    fdst = dst+'/'+src.split('/')[-1]
+    if test:
+        if not os.path.exists(src):
+            pinfo("TEST os.rename(%s, %s): source doesn't exists" % (fsrc, fdst))
+    else:
+        try:
+            os.rename(fsrc, fdst)
+        except OSError, e:
+            pinfo("os.rename(%s, %s): %s" % (fsrc, fdst))
+            raise
 
 class Pkg(BasePkg):
     def __init__(self, nvr, tree):
@@ -99,40 +109,40 @@
             for rpm in self.files[arch]:
                 f.write("file:%s:%s\n" % (arch, rpm))
         
-    def remove(self):
+    def remove(self, test=False):
         for arch in self.files.keys():
             for rpm in self.files[arch]:
-                rm(self.tree.basedir+'/'+arch+'/RPMS/'+rpm)
+                rm(self.tree.basedir+'/'+arch+'/RPMS/'+rpm, test)
                 if arch=='noarch':
                     if fileexists(noarchcachedir+rpm+'.filelist'):
-                        rm(noarchcachedir+rpm+'.filelist')
+                        rm(noarchcachedir+rpm+'.filelist', test)
                     if fileexists(noarchcachedir+rpm+'.reqlist'):
-                        rm(noarchcachedir+rpm+'.reqlist')
-        rm(self.tree.basedir+'/SRPMS/.metadata/'+self.nvr+'.src.rpm.info')
+                        rm(noarchcachedir+rpm+'.reqlist', test)
+        rm(self.tree.basedir+'/SRPMS/.metadata/'+self.nvr+'.src.rpm.info', test)
 
-    def move(self, dsttree):
+    def move(self, dsttree, test=False):
         if dsttree.has_key(self.nvr):
             movedany=False
             for arch in self.files.keys():
                 if arch in dsttree[self.nvr].files.keys():
                     pinfo("Arch %s for %s is already present in dest tree; removing from srctree" % (arch, self.nvr))
                     for rpm in self.files[arch]:
-                        rm(self.tree.basedir+'/'+arch+'/RPMS/'+rpm)
+                        rm(self.tree.basedir+'/'+arch+'/RPMS/'+rpm, test)
                 else:
                     movedany=True
                     dsttree[self.nvr].files[arch]=self.files[arch]
                     for rpm in self.files[arch]:
-                        mv(self.tree.basedir+'/'+arch+'/RPMS/'+rpm, dsttree.basedir+'/'+arch+'/RPMS/')
-            if movedany:
+                        mv(self.tree.basedir+'/'+arch+'/RPMS/'+rpm, dsttree.basedir+'/'+arch+'/RPMS/', test)
+            if not test and  movedany:
                 for bid in self.build.keys():
                     dsttree[self.nvr].build[bid]=self.build[bid]
                 dsttree[self.nvr].writeinfo()
-            rm(self.tree.basedir+'/SRPMS/.metadata/'+self.nvr+'.src.rpm.info')
+            rm(self.tree.basedir+'/SRPMS/.metadata/'+self.nvr+'.src.rpm.info', test)
         else:
             for arch in self.files.keys():
                 for rpm in self.files[arch]:
-                    mv(self.tree.basedir+'/'+arch+'/RPMS/'+rpm, dsttree.basedir+'/'+arch+'/RPMS/')
-            mv(self.tree.basedir+'/SRPMS/.metadata/'+self.nvr+'.src.rpm.info', dsttree.basedir+'/SRPMS/.metadata/')
+                    mv(self.tree.basedir+'/'+arch+'/RPMS/'+rpm, dsttree.basedir+'/'+arch+'/RPMS/', test)
+            mv(self.tree.basedir+'/SRPMS/.metadata/'+self.nvr+'.src.rpm.info', dsttree.basedir+'/SRPMS/.metadata/', test)
 
 
 class FtpTree(BaseFtpTree):
@@ -178,6 +188,12 @@
     def testmove(self, dsttree):
         self.__checkbuild(self.marked4moving)
         self.__checkarchs(dsttree, self.marked4moving)
+        
+        self.__rmolderfromsrc(test=True)
+        self.__rmotherfromdst(dsttree, test=True)
+
+        for pkg in self.marked4moving:
+            pkg.move(dsttree, test=True)
 
     def movepkgs(self, dsttree):
         if self.do_checkbuild:
@@ -278,17 +294,17 @@
                             missingarchs.append(arch)
                     pkg.warning('not built for archs: %s' % missingarchs)
 
-    def __rmolderfromsrc(self):
+    def __rmolderfromsrc(self, test=False):
         for pkg in self.marked4moving:
             olderpkgnames=self.__find_older_pkgs(pkg)
             for i in olderpkgnames:
-                Pkg(i, self).remove()
+                Pkg(i, self).remove(test)
 
-    def __rmotherfromdst(self, dsttree):
+    def __rmotherfromdst(self, dsttree, test=False):
         for pkg in self.marked4moving:
             pkgnames=self.__find_other_pkgs(pkg, dsttree)
             for i in pkgnames:
-                Pkg(i, dsttree).remove()
+                Pkg(i, dsttree).remove(test)
 
     # Used more than once filter functions
 
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/pld-ftp-admin/modules/ftptree.py?r1=1.28&r2=1.29&f=u



More information about the pld-cvs-commit mailing list