# Checks Debian packages from Incoming
# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 James Troup <james@nocrew.org>
-# $Id: jennifer,v 1.58 2005-11-24 15:40:16 ajt Exp $
+# $Id: jennifer,v 1.59 2005-11-25 09:29:54 ajt 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
################################################################################
# Globals
-jennifer_version = "$Revision: 1.58 $";
+jennifer_version = "$Revision: 1.59 $";
Cnf = None;
Options = None;
(summary, short_summary) = Katie.build_summaries();
- byhand = new = "";
- for file in files.keys():
- if files[file].has_key("byhand"):
- byhand = 1
- elif files[file].has_key("new"):
- new = 1
+ # q-unapproved hax0ring
+ queues = [ "New", "Byhand" ]
+ queue_info = {
+ "New": { "is": is_new, "process": acknowledge_new },
+ "Byhand" : { "is": is_byhand, "process": do_byhand },
+ }
(prompt, answer) = ("", "XXX")
if Options["No-Action"] or Options["Automatic"]:
prompt = "[R]eject, Skip, Quit ?";
if Options["Automatic"]:
answer = 'R';
- elif new:
- print "NEW to %s\n%s%s" % (", ".join(changes["distribution"].keys()), reject_message, summary),;
- prompt = "[N]ew, Skip, Quit ?";
- if Options["Automatic"]:
- answer = 'N';
- elif byhand:
- print "BYHAND\n" + reject_message + summary,;
- prompt = "[B]yhand, Skip, Quit ?";
- if Options["Automatic"]:
- answer = 'B';
else:
- print "ACCEPT\n" + reject_message + summary,;
- prompt = "[A]ccept, Skip, Quit ?";
- if Options["Automatic"]:
- answer = 'A';
+ queue = None
+ for q in queues:
+ if queue_info[q]["is"]():
+ queue = q
+ break
+ if queue:
+ print "%s for %s\n%s%s" % (
+ queue.upper(), ", ".join(changes["distribution"].keys()),
+ reject_message, summary),
+ queuekey = queue[0].upper()
+ if queuekey in "RQSA":
+ queuekey = "D"
+ prompt = "[D]ivert, Skip, Quit ?"
+ else:
+ prompt = "[%s]%s, Skip, Quit ?" % (queuekey, queue[1:].lower())
+ if Options["Automatic"]:
+ answer = queuekey
+ else:
+ print "ACCEPT\n" + reject_message + summary,;
+ prompt = "[A]ccept, Skip, Quit ?";
+ if Options["Automatic"]:
+ answer = 'A';
while prompt.find(answer) == -1:
answer = utils.our_raw_input(prompt);
Katie.do_reject(0, reject_message);
elif answer == 'A':
accept(summary, short_summary);
- elif answer == 'B':
- do_byhand(summary);
- elif answer == 'N':
- acknowledge_new (summary);
+ elif answer == queuekey:
+ queue_info[queue]["process"](summary)
elif answer == 'Q':
sys.exit(0)
################################################################################
+def is_byhand ():
+ for file in files.keys():
+ if files[file].has_key("byhand"):
+ return 1
+ return 0
+
def do_byhand (summary):
print "Moving to BYHAND holding area."
Logger.log(["Moving to byhand", pkg.changes_file]);
################################################################################
+def is_new ():
+ for file in files.keys():
+ if files[file].has_key("new"):
+ return 1
+ return 0
+
def acknowledge_new (summary):
Subst = Katie.Subst;