提交 2f026ef5 编写于 作者: J James Troup

use arches_compare_sw, justify better, less space for notes and don't use...

use arches_compare_sw, justify better, less space for notes and don't use commas.   make directories scanned configurable
上级 57c788ad
......@@ -2,7 +2,7 @@
# Produces a report on NEW and BYHAND packages
# Copyright (C) 2001, 2002 James Troup <james@nocrew.org>
# $Id: helena,v 1.2 2002-10-16 02:47:32 troup Exp $
# $Id: helena,v 1.3 2002-12-08 17:25:47 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
......@@ -136,23 +136,42 @@ def process_changes_files(changes_files, type):
per_source[source]["note_state"] = 2; # all
per_source_items = per_source.items();
per_source_items.sort(sg_compare);
msg = "";
entries = [];
max_source_len = 0;
max_version_len = 0;
max_arch_len = 0;
for i in per_source_items:
last_modified = time.time()-i[1]["oldest"];
source = i[1]["list"][0]["source"];
if len(source) > max_source_len:
max_source_len = len(source);
arches = {};
versions = {};
for j in i[1]["list"]:
for arch in j["architecture"].keys():
arches[arch] = "";
versions[j["version"]] = "";
arch_list = ", ".join(arches.keys());
version_list = ", ".join(versions.keys());
version = j["version"];
versions[version] = "";
arches_list = arches.keys();
arches_list.sort(utils.arch_compare_sw);
arch_list = " ".join(arches_list);
version_list = " ".join(versions.keys());
if len(version_list) > max_version_len:
max_version_len = len(version_list);
if len(arch_list) > max_arch_len:
max_arch_len = len(arch_list);
if i[1]["note_state"]:
note = " | [note]";
note = " | [N]";
else:
note = "";
msg += "%10s | %10s | %10s%s | %s old\n" % (source, version_list, arch_list, note, time_pp(last_modified));
entries.append([source, version_list, arch_list, note, time_pp(last_modified)]);
format="%%-%ds | %%-%ds | %%-%ds%%s | %%s old\n" % (max_source_len, max_version_len, max_arch_len)
msg = "";
for entry in entries:
(source, version_list, arch_list, note, last_modified) = entry;
msg += format % (source, version_list, arch_list, note, last_modified);
if msg:
total_count = len(changes_files);
......@@ -173,10 +192,13 @@ def main():
apt_pkg.ParseCommandLine(Cnf,[],sys.argv);
Katie = katie.Katie(Cnf);
changes_files = glob.glob("%s/*.changes" % (Cnf["Dir::Queue::Byhand"]));
process_changes_files(changes_files, "byhand");
changes_files = glob.glob("%s/*.changes" % (Cnf["Dir::Queue::New"]));
process_changes_files(changes_files, "new");
directories = Cnf.ValueList("Helena::Directories");
if not directories:
directories = [ "byhand", "new"]
for directory in directories:
changes_files = glob.glob("%s/*.changes" % (Cnf["Dir::Queue::%s" % (directory)]));
process_changes_files(changes_files, directory);
################################################################################
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册