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