import sys, os
sys.path.insert(0, os.environ['HOME']+'/pld-ftp-admin/modules')
-from ftptree import FtpTree
+import ftptree
from common import checkdir
import ftpio
sys.exit(1)
try:
- tree=FtpTree(sys.argv[1])
+ tree=ftptree.FtpTree(sys.argv[1])
tree.mark4removal(sys.argv[2:])
tree.removepkgs()
except ftptree.SomeError:
def __init__(self, name, tree):
self.marked4removal=False
self.marked4moving=False
+ self.errors=[]
+ self.warnings=[]
BasePkg.__init__(self, name, tree)
def mark4moving(self):
def keys(self):
return self.pkgnames
- def candidates4move(self):
+ def checktree(self, dsttree):
pass
def testmove(self, dsttree):
- self.__checkbuild()
- self.__checkarchs(dsttree)
+ self.__checkbuild(self.marked4moving)
+ self.__checkarchs(dsttree, self.marked4moving)
def movepkgs(self, dsttree):
if self.do_checkbuild:
- self.__checkbuild()
+ self.__checkbuild(self.marked4moving)
bailoutonerror()
- self.__checkarchs(dsttree)
+ self.__checkarchs(dsttree, self.marked4moving)
bailoutonerror()
self.__rmolderfromsrc()
self.__rmotherfromdst(dsttree)
def removepkgs(self):
if self.do_checkbuild:
- self.__checkbuild()
+ self.__checkbuild(self.marked4removal)
bailoutonerror()
for pkg in self.marked4removal:
pkg.remove()
perror('%s not found in source tree' % pkgname)
bailoutonerror()
- def __checkbuild(self):
+ def __checkbuild(self, marked):
f=urllib.urlopen(config.builderqueue)
#f=open('queue.txt')
requests={}
elif i[0]=='b':
requests[id]=requests[id]+i
f.close()
- marked=[]
- if self.marked4moving:
- marked=self.marked4moving
- elif self.marked4removal:
- marked=self.marked4removal
for pkg in marked:
for bid in pkg.build.keys():
if requests.has_key(bid) and not requests[bid].find('?') == -1:
perror("%s (buildid %s) building not finished" % (pkg,bid))
- def __checkarchs(self, dsttree):
- for pkg in self.marked4moving:
+ def __checkarchs(self, dsttree, marked):
+ for pkg in marked:
if len(pkg.files.keys()) <= 1:
perror('%s has only src.rpm built' % pkg)
continue