pld-ftp-admin: modules/common.py, modules/config.py, modules/ftptree.py - c...
glen
glen at pld-linux.org
Wed May 27 00:42:59 CEST 2009
Author: glen Date: Tue May 26 22:42:59 2009 GMT
Module: pld-ftp-admin Tag: HEAD
---- Log message:
- code formatting
---- Files affected:
pld-ftp-admin/modules:
common.py (1.9 -> 1.10) , config.py (1.9 -> 1.10) , ftptree.py (1.35 -> 1.36)
---- Diffs:
================================================================
Index: pld-ftp-admin/modules/common.py
diff -u pld-ftp-admin/modules/common.py:1.9 pld-ftp-admin/modules/common.py:1.10
--- pld-ftp-admin/modules/common.py:1.9 Tue Jun 21 00:27:06 2005
+++ pld-ftp-admin/modules/common.py Wed May 27 00:42:54 2009
@@ -3,21 +3,24 @@
import os, sys, config
def fileexists(path):
- if path[0]=='/':
- fullpath=path
+ if path[0] == '/':
+ fullpath = path
else:
- fullpath=config.ftp_dir+path
+ fullpath = config.ftp_dir + path
return os.path.exists(fullpath)
def checkdir(dir):
if not fileexists(dir):
- print 'ERR: ' + config.value['ftp_dir']+'/' + dir + " does not exist"
+ print >>sys.stderr, 'ERR: ' + config.value['ftp_dir']+'/' + dir + " does not exist"
sys.exit(1)
if 'HOME' in os.environ:
- ftpadmdir=os.environ['HOME']+'/pld-ftp-admin/'
+ ftpadmdir = os.environ['HOME'] + '/pld-ftp-admin/'
else:
- ftpadmdir='../'
-noarchcachedir=ftpadmdir+'var/noarch-cache/'
-tmpdir=ftpadmdir+'var/tmp/'
+ ftpadmdir = '../'
+# noarchcachedir is dir where noarch files contents are stored for AI
+# XXX: file reference where the AI resides
+noarchcachedir = ftpadmdir + 'var/noarch-cache/'
+
+tmpdir = ftpadmdir + 'var/tmp/'
================================================================
Index: pld-ftp-admin/modules/config.py
diff -u pld-ftp-admin/modules/config.py:1.9 pld-ftp-admin/modules/config.py:1.10
--- pld-ftp-admin/modules/config.py:1.9 Fri Sep 9 14:11:59 2005
+++ pld-ftp-admin/modules/config.py Wed May 27 00:42:54 2009
@@ -2,51 +2,50 @@
import string, os
-value={}
+value = {}
if os.environ.has_key('HOME'):
- path=os.environ['HOME']
+ path = os.environ['HOME']
else:
- path='../../' # cgi-bin interface
+ path = '../../' # cgi-bin interface
-f=open(path+'/.ftpadmrc', 'r')
+f = open(path + '/.ftpadmrc', 'r')
for line in f.readlines():
if line[0] == '#' or string.find(line, '=') == -1:
continue
- tuple=string.split(string.strip(line), '=')
+ tuple = string.split(string.strip(line), '=')
if tuple[1][0] == '"':
- value[string.strip(tuple[0])]=tuple[1][1:-1]
+ value[string.strip(tuple[0])] = tuple[1][1:-1]
else:
- value[string.strip(tuple[0])]=string.strip(tuple[1])
+ value[string.strip(tuple[0])] = string.strip(tuple[1])
f.close()
-default_to=value['ftp_dir']+'/'+value['default_to']+'/'
-ftp_dir=value['ftp_dir']+'/'
-incoming_dir=value['ftp_dir']+'/'+value['incoming_dir']+'/'
-test_builds_dir=value['ftp_dir']+'/'+value['test_builds_dir']+'/'
-ftp_archs=value['ftp_archs'].split(' ')
+default_to = value['ftp_dir'] + '/' + value['default_to'] + '/'
+ftp_dir = value['ftp_dir'] + '/'
+incoming_dir = value['ftp_dir'] + '/' + value['incoming_dir'] + '/'
+test_builds_dir = value['ftp_dir'] + '/' + value['test_builds_dir'] + '/'
+ftp_archs = value['ftp_archs'].split(' ')
-builderqueue=value['builderqueue']
+builderqueue = value['builderqueue']
-if 'old_poldek' in value and value['old_poldek']=='yes':
- old_poldek=True
+if 'old_poldek' in value and value['old_poldek'] == 'yes':
+ old_poldek = True
else:
- old_poldek=False
+ old_poldek = False
if 'poldek_indexes' in value:
- poldek_indexes=value['poldek_indexes']
+ poldek_indexes = value['poldek_indexes']
else:
- poldek_indexes='old'
+ poldek_indexes = 'old'
-if value['separate_noarch']=='yes':
- separate_noarch=True
+if value['separate_noarch'] == 'yes':
+ separate_noarch = True
else:
- separate_noarch=False
+ separate_noarch = False
if separate_noarch:
- all_ftp_archs=['noarch'] + ftp_archs
+ all_ftp_archs = ['noarch'] + ftp_archs
else:
- all_ftp_archs=ftp_archs
-
+ all_ftp_archs = ftp_archs
================================================================
Index: pld-ftp-admin/modules/ftptree.py
diff -u pld-ftp-admin/modules/ftptree.py:1.35 pld-ftp-admin/modules/ftptree.py:1.36
--- pld-ftp-admin/modules/ftptree.py:1.35 Fri May 9 08:19:34 2008
+++ pld-ftp-admin/modules/ftptree.py Wed May 27 00:42:54 2009
@@ -39,7 +39,7 @@
os.remove(file)
except OSError, e:
pinfo("os.remove(%s): %s" % (file, e))
- raise
+ #raise
def mv(src, dst, test=False):
fsrc = src
@@ -57,14 +57,14 @@
class Pkg(BasePkg):
def __init__(self, nvr, tree):
BasePkg.__init__(self, nvr, tree)
- self.name=string.join(nvr.split('-')[:-2], '-')
- self.version=nvr.split('-')[-2]
- self.release=nvr.split('-')[-1]
- self.marked4removal=False
- self.marked4moving=False
- self.marked4movingpool=[]
- self.errors=[]
- self.warnings=[]
+ self.name = string.join(nvr.split('-')[:-2], '-')
+ self.version = nvr.split('-')[-2]
+ self.release = nvr.split('-')[-1]
+ self.marked4removal = False
+ self.marked4moving = False
+ self.marked4movingpool = []
+ self.errors = []
+ self.warnings = []
def __cmp__(self, pkg):
if self.name > pkg.name:
@@ -109,7 +109,7 @@
self.mark4moving()
def writeinfo(self):
- f=open(self.tree.basedir+'/SRPMS/.metadata/'+self.nvr+'.src.rpm.info', 'w')
+ f = open(self.tree.basedir+'/SRPMS/.metadata/'+self.nvr+'.src.rpm.info', 'w')
for bid in self.build.keys():
f.write("info:build:%s:requester:%s\ninfo:build:%s:requester_email:%s\n" % (bid, self.build[bid].requester, bid, self.build[bid].requester_email))
for key in self.info.keys():
@@ -118,20 +118,23 @@
for rpm in self.files[arch]:
f.write("file:%s:%s\n" % (arch, rpm))
- def remove(self, test=False):
+ def remove(self, test = False):
+ """
+ Remove package from ftp
+ """
for arch in self.files.keys():
for rpm in self.files[arch]:
- rm(self.tree.basedir+'/'+arch+'/RPMS/'+rpm, test)
- if arch=='noarch':
- if fileexists(noarchcachedir+rpm+'.filelist'):
- rm(noarchcachedir+rpm+'.filelist', test)
- if fileexists(noarchcachedir+rpm+'.reqlist'):
- rm(noarchcachedir+rpm+'.reqlist', test)
- rm(self.tree.basedir+'/SRPMS/.metadata/'+self.nvr+'.src.rpm.info', test)
+ rm(self.tree.basedir + '/' + arch + '/RPMS/' + rpm, test)
+ if arch == 'noarch':
+ if fileexists(noarchcachedir + rpm + '.filelist'):
+ rm(noarchcachedir + rpm + '.filelist', test)
+ if fileexists(noarchcachedir + rpm + '.reqlist'):
+ rm(noarchcachedir + rpm + '.reqlist', test)
+ rm(self.tree.basedir + '/SRPMS/.metadata/' + self.nvr + '.src.rpm.info', test)
def move(self, dsttree, test=False):
if dsttree.has_key(self.nvr):
- movedany=False
+ movedany = False
for arch in self.files.keys():
if arch in dsttree[self.nvr].files.keys():
msg = ""
@@ -139,37 +142,39 @@
msg = "TEST "
pinfo("%sArch %s for %s is already present in dest tree; removing from srctree" % (msg, arch, self.nvr))
for rpm in self.files[arch]:
- rm(self.tree.basedir+'/'+arch+'/RPMS/'+rpm, test)
+ rm(self.tree.basedir + '/' + arch + '/RPMS/' + rpm, test)
else:
- movedany=True
- dsttree[self.nvr].files[arch]=self.files[arch]
+ 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/', test)
+ 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].build[bid] = self.build[bid]
dsttree[self.nvr].writeinfo()
- rm(self.tree.basedir+'/SRPMS/.metadata/'+self.nvr+'.src.rpm.info', test)
+ rm(self.tree.basedir + '/SRPMS/.metadata/' + self.nvr + '.src.rpm.info', test)
else:
+ # move files
for arch in self.files.keys():
for rpm in self.files[arch]:
- 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)
+ mv(self.tree.basedir + '/' + arch + '/RPMS/' + rpm, dsttree.basedir + '/' + arch + '/RPMS/', test)
+ # move metadata
+ mv(self.tree.basedir + '/SRPMS/.metadata/' + self.nvr + '.src.rpm.info', dsttree.basedir + '/SRPMS/.metadata/', test)
class FtpTree(BaseFtpTree):
def __init__(self, tree, loadall=False):
BaseFtpTree.__init__(self, tree)
- self.loadedpkgs={}
- self.marked4removal=[]
- self.marked4moving=[]
- self.pkgnames=[]
+ self.loadedpkgs = {}
+ self.marked4removal = []
+ self.marked4moving = []
+ self.pkgnames = []
self.__loadpkgnames()
if loadall:
for pkgname in self.pkgnames:
- self.loadedpkgs[pkgname]=Pkg(pkgname, self)
+ self.loadedpkgs[pkgname] = Pkg(pkgname, self)
# Tests:
- self.do_checkbuild=True
+ self.do_checkbuild = True
def __getitem__(self, key):
if self.loadedpkgs.has_key(key):
@@ -201,11 +206,11 @@
self.__checkbuild(self.marked4moving)
self.__checkarchs(dsttree, self.marked4moving)
- self.__rmolderfromsrc(test=True)
- self.__rmotherfromdst(dsttree, test=True)
+ self.__rmolderfromsrc(test = True)
+ self.__rmotherfromdst(dsttree, test = True)
for pkg in self.marked4moving:
- pkg.move(dsttree, test=True)
+ pkg.move(dsttree, test = True)
def movepkgs(self, dsttree):
if self.do_checkbuild:
@@ -241,8 +246,8 @@
return True
else:
return False
- list=filter(checkfiletype, os.listdir(self.basedir+'/SRPMS/.metadata'))
- self.pkgnames=map((lambda x: x[:-13]), list)
+ list = filter(checkfiletype, os.listdir(self.basedir+'/SRPMS/.metadata'))
+ self.pkgnames = map((lambda x: x[:-13]), list)
def __mark4something(self, wannabepkgs, markfunction):
def chopoffextension(pkg):
@@ -262,32 +267,42 @@
bailoutonerror()
def __checkbuild(self, marked):
- f=urllib.urlopen(config.builderqueue)
- #f=open('queue.txt')
- requests={}
- reid=re.compile(r'^.*id=(.*) pri.*$')
- regb=re.compile(r'^group:.*$|builders:.*$', re.M)
+ """
+ Checks queue file if all arches are built
+
+ Reads config.builderqueue to grab the info
+ """
+ f = urllib.urlopen(config.builderqueue)
+ requests = {}
+ reid = re.compile(r'^.*id=(.*) pri.*$')
+ regb = re.compile(r'^group:.*$|builders:.*$', re.M)
for i in re.findall(regb, f.read()):
- if i[0]=='g':
- id=reid.sub(r'\1', i)
- requests[id]=""
+ if i[0] == 'g':
+ id = reid.sub(r'\1', i)
+ requests[id] = ""
elif i[0]=='b':
- requests[id]=requests[id]+i
+ requests[id] = requests[id] + i
f.close()
+
for pkg in marked:
for bid in pkg.build.keys():
if requests.has_key(bid) and not requests[bid].find('?') == -1:
pkg.error("(buildid %s) building not finished" % bid)
def __checkarchs(self, dsttree, marked):
+ """
+ Checks marked pkgs it is built on all archs.
+ """
for pkg in marked:
if len(pkg.files.keys()) <= 1:
pkg.error('has only src.rpm built')
continue
- otherpkgnames=self.__find_other_pkgs(pkg, dsttree)
- if otherpkgnames: # check if we're not removing some archs
- curarchs=[]
- missingarchs=[]
+ otherpkgnames = self.__find_other_pkgs(pkg, dsttree)
+
+ # check if we're not removing some archs
+ if otherpkgnames:
+ curarchs = []
+ missingarchs = []
for somepkg in otherpkgnames:
curarchs.extend(Pkg(somepkg, dsttree).files.keys())
for arch in curarchs:
@@ -295,12 +310,12 @@
missingarchs.append(arch)
if missingarchs:
pkg.error('moving would remove archs: %s' % missingarchs)
- else: # warn if a package isn't built for all archs
- if (config.separate_noarch and 'noarch' in pkg.files.keys() and
- len(pkg.files.keys())==2):
+ else:
+ # warn if a package isn't built for all archs
+ if (config.separate_noarch and 'noarch' in pkg.files.keys() and len(pkg.files.keys()) == 2):
continue
- elif len(pkg.files.keys()) != len(config.ftp_archs)+1:
- missingarchs=[]
+ elif len(pkg.files.keys()) != len(config.ftp_archs) + 1:
+ missingarchs = []
for arch in config.ftp_archs:
if arch not in pkg.files.keys():
missingarchs.append(arch)
@@ -308,21 +323,20 @@
def __rmolderfromsrc(self, test=False):
for pkg in self.marked4moving:
- olderpkgnames=self.__find_older_pkgs(pkg)
+ olderpkgnames = self.__find_older_pkgs(pkg)
for i in olderpkgnames:
Pkg(i, self).remove(test)
- def __rmotherfromdst(self, dsttree, test=False):
+ def __rmotherfromdst(self, dsttree, test = False):
for pkg in self.marked4moving:
- pkgnames=self.__find_other_pkgs(pkg, dsttree)
+ pkgnames = self.__find_other_pkgs(pkg, dsttree)
for i in pkgnames:
Pkg(i, dsttree).remove(test)
# Used more than once filter functions
-
def __find_other_pkgs(self, pkg, tree):
- escapedpkgname=pkg.name.replace('.', '\.').replace('+', '\+')
- ziewre=re.compile(escapedpkgname+'-[^-]*-[^-]*$')
+ escapedpkgname = pkg.name.replace('.', '\.').replace('+', '\+')
+ ziewre = re.compile(escapedpkgname + '-[^-]*-[^-]*$')
def filter_other_pkgs(x):
if ziewre.match(x) and not x == pkg.nvr:
return True
@@ -332,7 +346,7 @@
def __find_older_pkgs(self, pkg):
def filter_older_pkgs(x):
- c=x.split('-')
+ c = x.split('-')
rc = rpm.labelCompare(('0', pkg.version, pkg.release),
('0', c[-2], c[-1]))
if rc == 1: # pkg > x
================================================================
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/pld-ftp-admin/modules/common.py?r1=1.9&r2=1.10&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/pld-ftp-admin/modules/config.py?r1=1.9&r2=1.10&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/pld-ftp-admin/modules/ftptree.py?r1=1.35&r2=1.36&f=u
More information about the pld-cvs-commit
mailing list