From aac517985aeb86211207bba520ee918e3a9ea936 Mon Sep 17 00:00:00 2001 From: Luca Falavigna Date: Sun, 10 Oct 2010 21:07:19 +0000 Subject: [PATCH] Add an option to reverse sorting of binary-NEW packages Signed-off-by: Luca Falavigna --- dak/process_new.py | 6 ++++-- daklib/changesutils.py | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/dak/process_new.py b/dak/process_new.py index a7cfb94e..fb3fdb63 100755 --- a/dak/process_new.py +++ b/dak/process_new.py @@ -516,6 +516,7 @@ def do_new(upload, session): def usage (exit_code=0): print """Usage: dak process-new [OPTION]... [CHANGES]... -a, --automatic automatic run + -b, --no-binaries do not sort binary-NEW packages first -h, --help show this help and exit. -m, --manual-reject=MSG manual reject with `msg' -n, --no-action don't do anything @@ -730,12 +731,13 @@ def main(): session = DBConn().session() Arguments = [('a',"automatic","Process-New::Options::Automatic"), + ('b',"no-binaries","Process-New::Options::Binaries"), ('h',"help","Process-New::Options::Help"), ('m',"manual-reject","Process-New::Options::Manual-Reject", "HasArg"), ('t',"trainee","Process-New::Options::Trainee"), ('n',"no-action","Process-New::Options::No-Action")] - for i in ["automatic", "help", "manual-reject", "no-action", "version", "trainee"]: + for i in ["automatic", "no-binaries", "help", "manual-reject", "no-action", "version", "trainee"]: if not cnf.has_key("Process-New::Options::%s" % (i)): cnf["Process-New::Options::%s" % (i)] = "" @@ -763,7 +765,7 @@ def main(): if len(changes_paths) > 1: sys.stderr.write("Sorting changes...\n") - changes_files = sort_changes(changes_paths, session) + changes_files = sort_changes(changes_paths, session, Options["Binaries"]) for changes_file in changes_files: changes_file = utils.validate_changes_file_arg(changes_file, 0) diff --git a/daklib/changesutils.py b/daklib/changesutils.py index 35b3d57b..b268add5 100644 --- a/daklib/changesutils.py +++ b/daklib/changesutils.py @@ -84,7 +84,7 @@ def sg_compare (a, b): __all__.append('sg_compare') -def sort_changes(changes_files, session): +def sort_changes(changes_files, session, binaries = None): """Sort into source groups, then sort each source group by version, have source, filename. Finally, sort the source groups by have note, time of oldest upload of each source upload.""" @@ -116,7 +116,7 @@ def sort_changes(changes_files, session): # Determine oldest time and have note status for each source group for source in per_source.keys(): q = session.query(DBSource).filter_by(source = source).all() - per_source[source]["source_in_database"] = len(q)>0 + per_source[source]["source_in_database"] = binaries and -(len(q)>0) or len(q)>0 source_list = per_source[source]["list"] first = source_list[0] oldest = os.stat(first["filename"])[stat.ST_MTIME] -- GitLab