From: James Troup Date: Tue, 26 Nov 2002 16:15:54 +0000 (+0000) Subject: misc nit-picking, remove unused variables, clean up white space and coding style. X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=da5e3dbaaac033dd1f6661b13db503cec795e659;p=dak misc nit-picking, remove unused variables, clean up white space and coding style. --- diff --git a/fernanda.py b/fernanda.py index bb4eedc5..81704dca 100755 --- a/fernanda.py +++ b/fernanda.py @@ -2,7 +2,7 @@ # Script to automate some parts of checking NEW packages # Copyright (C) 2000, 2001, 2002 James Troup -# $Id: fernanda.py,v 1.7 2002-11-26 02:51:52 rdonald Exp $ +# $Id: fernanda.py,v 1.8 2002-11-26 16:15:54 troup Exp $ # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -36,15 +36,13 @@ import errno, os, re, sys import utils import apt_pkg, apt_inst -import pg, string, db_access +import pg, db_access ################################################################################ - re_package = re.compile(r"^(.+?)_.*"); re_doc_directory = re.compile(r".*/doc/([^/]*).*"); - re_contrib = re.compile('^contrib/') re_nonfree = re.compile('^non\-free/') @@ -52,30 +50,30 @@ re_arch = re.compile("Architecture: .*") re_builddep = re.compile("Build-Depends: .*") re_builddepind = re.compile("Build-Depends-Indep: .*") -re_localhost = re.compile("localhost\.localdomain") +re_localhost = re.compile("localhost\.localdomain") re_version = re.compile('^(.*)\((.*)\)') re_newlinespace = re.compile('\n') re_spacestrip = re.compile('(\s)') -############################################################################################################## +################################################################################ # Colour definitions # Main -main_colour = "\033[36m" +main_colour = "\033[36m"; # Contrib -contrib_colour = "\033[33m" +contrib_colour = "\033[33m"; # Non-Free -nonfree_colour = "\033[31m" +nonfree_colour = "\033[31m"; # Arch -arch_colour = "\033[32m" +arch_colour = "\033[32m"; # End -end_colour = "\033[0m" -# Bold -bold_colour = "\033[1m" +end_colour = "\033[0m"; +# Bold +bold_colour = "\033[1m"; # Bad maintainer -maintainer_colour = arch_colour +maintainer_colour = arch_colour; ################################################################################ @@ -86,8 +84,6 @@ Cnf = utils.get_conf() projectB = pg.connect(Cnf["DB::Name"], Cnf["DB::Host"], int(Cnf["DB::Port"])) db_access.init(Cnf, projectB); - - ################################################################################ def usage (exit_code=0): @@ -109,91 +105,76 @@ def get_depends_parts(depend) : else : d_parts = { 'name' : depend , 'version' : '' } return d_parts - + def get_or_list(depend) : - or_list = string.split(depend, "|") + or_list = depend.split("|"); return or_list - + def get_comma_list(depend) : - dep_list = string.split(depend, ",") + dep_list = depend.split(","); return dep_list - - + def split_depends (d_str) : # creates a list of lists of dictionaries of depends (package,version relation) - - d_str = re_spacestrip.sub('',d_str) - depends_tree = [] + + d_str = re_spacestrip.sub('',d_str); + depends_tree = []; # first split depends string up amongs comma delimiter - dep_list = get_comma_list(d_str) - d = 0 + dep_list = get_comma_list(d_str); + d = 0; while d < len(dep_list): # put depends into their own list - depends_tree.append([dep_list[d]]) - d = d + 1 - d = 0 - while d < len(depends_tree) : - k = 0 + depends_tree.append([dep_list[d]]); + d += 1; + d = 0; + while d < len(depends_tree): + k = 0; # split up Or'd depends into a multi-item list - depends_tree[d] = get_or_list(depends_tree[d][0]) - while k < len(depends_tree[d]) : + depends_tree[d] = get_or_list(depends_tree[d][0]); + while k < len(depends_tree[d]): # split depends into {package, version relation} - depends_tree[d][k] = get_depends_parts(depends_tree[d][k]) - k = k + 1 - d = d +1 - return depends_tree - -def read_control (filename) : - - recommends = [] - depends = [] - section = '' - maintainer = '' - arch = '' - - - - + depends_tree[d][k] = get_depends_parts(depends_tree[d][k]); + k += 1; + d += 1; + return depends_tree; + +def read_control (filename): + recommends = []; + depends = []; + section = ''; + maintainer = ''; + arch = ''; + deb_file = utils.open_file(filename); try: - extracts = apt_inst.debExtractControl(deb_file) - control = apt_pkg.ParseSection(extracts) + extracts = apt_inst.debExtractControl(deb_file); + control = apt_pkg.ParseSection(extracts); except: + print "can't parse control info"; + control = ''; - print "can't parse control info" - control = '' - - deb_file.close(); - - control_keys = control.keys() - - - - - - - + + control_keys = control.keys(); + if control.has_key("Depends"): - depends_str = control.Find("Depends") + depends_str = control.Find("Depends"); # create list of dependancy lists - depends = split_depends(depends_str) - - + depends = split_depends(depends_str); + if control.has_key("Recommends"): - recommends_str = control.Find("Recommends") - recommends = split_depends(recommends_str) - + recommends_str = control.Find("Recommends"); + recommends = split_depends(recommends_str); + if control.has_key("Section"): - section_str = control.Find("Section") - + section_str = control.Find("Section"); + c_match = re_contrib.search(section_str) nf_match = re_nonfree.search(section_str) if c_match : # contrib colour section = contrib_colour + section_str + end_colour elif nf_match : - # non-free colour section = nonfree_colour + section_str + end_colour else : @@ -202,132 +183,107 @@ def read_control (filename) : if control.has_key("Achitecture"): arch_str = control.Find("Architecture") arch = arch_colour + arch_str + end_colour - + if control.has_key("Maintainer"): - maintainer = control.Find("Maintainer") - localhost = re_localhost.search(maintainer) - if localhost : + maintainer = control.Find("Maintainer") + localhost = re_localhost.search(maintainer) + if localhost: #highlight bad email - maintainer = maintainer_colour + maintainer + end_colour - + maintainer = maintainer_colour + maintainer + end_colour; return (control, control_keys, section, depends, recommends, arch, maintainer) - - -def read_dsc (dsc_filename) : - buf = [] - header = '' - footer = '' - dsc = {} - dsc_files = {} - - dsc_file = utils.open_file(dsc_filename) + +def read_dsc (dsc_filename): + dsc = {}; + + dsc_file = utils.open_file(dsc_filename); try: - dsc.update(utils.parse_changes(dsc_filename, dsc_whitespace_rules=0)) - dsc_files.update(utils.build_file_list(dsc, is_a_dsc=1)) + dsc = utils.parse_changes(dsc_filename); except: - print "can't parse control info" - - - dsc_file.close(); - filecontents = dsc["filecontents"] + filecontents = dsc["filecontents"]; if dsc.has_key("build-depends"): - - builddep = split_depends(dsc["build-depends"]) - builddepstr = create_depends_string(builddep) - filecontents = re_builddep.sub("Build-Depends: "+builddepstr, filecontents) - - - if dsc.has_key("build-depends-indep") : - builddepindstr = create_depends_string(split_depends(dsc["build-depends-indep"])) - filecontents = re_builddepind.sub("Build-Depends-Indep: "+builddepindstr, filecontents) - - - - + builddep = split_depends(dsc["build-depends"]); + builddepstr = create_depends_string(builddep); + filecontents = re_builddep.sub("Build-Depends: "+builddepstr, filecontents); + + if dsc.has_key("build-depends-indep"): + builddepindstr = create_depends_string(split_depends(dsc["build-depends-indep"])); + filecontents = re_builddepind.sub("Build-Depends-Indep: "+builddepindstr, filecontents); + if dsc.has_key("architecture") : + if (dsc["architecture"] != "any"): + newarch = arch_colour + dsc["architecture"] + end_colour; + filecontents = re_arch.sub("Architecture: " + newarch, filecontents); - if (dsc["architecture"] != "any") : - newarch = arch_colour + dsc["architecture"] + end_colour - filecontents = re_arch.sub("Architecture: "+newarch, filecontents) - - return (filecontents) + return filecontents; -def create_depends_string(depends_tree) : +def create_depends_string (depends_tree): # just look up unstable for now. possibly pull from .changes later - suite = "unstable" - result = "" - comma_count = 1 + suite = "unstable"; + result = ""; + comma_count = 1; for l in depends_tree: - if (comma_count >= 2) : - result = result + ", " + if (comma_count >= 2): + result += ", "; or_count = 1 - for d in l : - if (or_count >= 2 ) : - result = result + " | " + for d in l: + if (or_count >= 2 ): + result += " | " # doesn't do version lookup yet. - q = projectB.query("SELECT DISTINCT(b.package), b.version, c.name, su.suite_name FROM binaries b, files fi, location l, component c, bin_associations ba, suite su WHERE b.package='%s' AND b.file = fi.id AND fi.location = l.id AND l.component = c.id AND ba.bin=b.id AND ba.suite = su.id AND su.suite_name='%s' ORDER BY b.version desc" % (d['name'], suite)) + q = projectB.query("SELECT DISTINCT(b.package), b.version, c.name, su.suite_name FROM binaries b, files fi, location l, component c, bin_associations ba, suite su WHERE b.package='%s' AND b.file = fi.id AND fi.location = l.id AND l.component = c.id AND ba.bin=b.id AND ba.suite = su.id AND su.suite_name='%s' ORDER BY b.version desc" % (d['name'], suite)); ql = q.getresult(); if ql: - i = ql[0] - #for i in ql: - - if i[2] == "contrib" : - result = result + contrib_colour + d['name'] - elif i[2] == "non-free" : - result = result + nonfree_colour + d['name'] + i = ql[0]; + + if i[2] == "contrib": + result += contrib_colour + d['name']; + elif i[2] == "non-free": + result += nonfree_colour + d['name']; else : - result = result + main_colour + d['name'] - + result += main_colour + d['name']; + if d['version'] != '' : - result = result + " (" + d['version'] + ")" - result = result +end_colour - else : - result = result + bold_colour + d['name'] + result += " (%s)" % (d['version']); + result += end_colour; + else: + result += bold_colour + d['name']; if d['version'] != '' : - result = result + " (" + d['version'] + ")" - result = result + end_colour - or_count = or_count + 1 - comma_count = comma_count + 1 - return result - + result += " (%s)" % (d['version']); + result += end_colour; + or_count += 1; + comma_count += 1; + return result; def output_deb_info(filename): - + (control, control_keys, section, depends, recommends, arch, maintainer) = read_control(filename); - (control, control_keys, section, depends, recommends, arch, maintainer) = read_control(filename) - - if control == '' : - print "no control info" - else : - - + if control == '': + print "no control info" + else: for key in control_keys : - output = " " + key + ": " - if key == 'Depends' : - output = output + create_depends_string(depends) - elif key == 'Recommends' : - output = output + create_depends_string(recommends) - elif key == 'Section' : - output = output + section - elif key == 'Architecture' : - output = output + arch - elif key == 'Maintainer' : - output = output + maintainer - elif key == 'Description' : - desc = control.Find(key) - desc = re_newlinespace.sub('\n ', desc) - output = output + desc - else : - output = output + control.Find(key) - print output - + if key == 'Depends': + output += create_depends_string(depends); + elif key == 'Recommends': + output += create_depends_string(recommends); + elif key == 'Section': + output += section; + elif key == 'Architecture': + output += arch; + elif key == 'Maintainer': + output += maintainer; + elif key == 'Description': + desc = control.Find(key); + desc = re_newlinespace.sub('\n ', desc); + output += desc; + else: + output += control.Find(key); + print output; def do_command (command, filename): o = os.popen("%s %s" % (command, filename)); @@ -353,12 +309,8 @@ def print_copyright (deb_filename): def check_dsc (dsc_filename): print "---- .dsc file for %s ----" % (dsc_filename); (dsc) = read_dsc(dsc_filename) - print dsc - - - def check_deb (deb_filename): filename = os.path.basename(deb_filename); @@ -370,7 +322,7 @@ def check_deb (deb_filename): print "---- control file for %s ----" % (filename); #do_command ("dpkg -I", deb_filename); output_deb_info(deb_filename) - + if is_a_udeb: print "---- skipping lintian check for µdeb ----"; print ; @@ -433,7 +385,7 @@ def main (): for file in args: try: # Pipe output for each argument through less - less_fd = os.popen("less -R -", 'w', 0); + less_fd = os.popen("less -R -", 'w', 0); # -R added to display raw control chars for colour sys.stdout = less_fd;