From a0b52be0f23679b214a690cb2cb6be88b5504da0 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Arkadiusz=20Mi=C5=9Bkiewicz?= Date: Mon, 9 Jan 2006 16:44:15 +0000 Subject: [PATCH] - be more verbose for testmvpkg Changed files: modules/ftptree.py -> 1.29 --- modules/ftptree.py | 68 ++++++++++++++++++++++++++++------------------ 1 file changed, 42 insertions(+), 26 deletions(-) diff --git a/modules/ftptree.py b/modules/ftptree.py index 609e253..4c55d6f 100644 --- a/modules/ftptree.py +++ b/modules/ftptree.py @@ -24,16 +24,26 @@ def perror(msg): 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 @@ class Pkg(BasePkg): 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 @@ class FtpTree(BaseFtpTree): 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 @@ class FtpTree(BaseFtpTree): 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 -- 2.44.0