X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=dak%2Fprocess_new.py;h=a07470faaaa1f34a1457b5c35c930f61cdbb428b;hb=9106ee03bf5798bf409c21b0ac7119fdb0485292;hp=f8a6f40e86288d93c09f209b5a07aee9d95cceeb;hpb=4ef7b2aa736c4542473f81cdeb5dc6cc88e6b633;p=dak.git diff --git a/dak/process_new.py b/dak/process_new.py index f8a6f40e..a07470fa 100755 --- a/dak/process_new.py +++ b/dak/process_new.py @@ -225,7 +225,7 @@ def sort_changes(changes_files): mtime = os.stat(d["filename"])[stat.ST_MTIME] if mtime < oldest: oldest = mtime - have_note += (database.has_new_comment(d["source"], d["version"])) + have_note += (database.has_new_comment(d["source"], d["version"], True)) per_source[source]["oldest"] = oldest if not have_note: per_source[source]["note_state"] = 0; # none @@ -496,7 +496,8 @@ def edit_note(note): elif answer == 'Q': end() sys.exit(0) - database.add_new_comment(Upload.pkg.changes["source"], Upload.pkg.changes["version"], newnote, utils.whoami()) + + database.add_new_comment(Upload.pkg.changes["source"], Upload.pkg.changes["version"], newnote, utils.whoami(), bool(Options["Trainee"])) ################################################################################ @@ -675,7 +676,7 @@ def do_new(): print "W: [!] marked entries must be fixed before package can be processed." if note: print "W: note must be removed before package can be processed." - prompt += "Remove note, " + prompt += "RemOve all notes, Remove note, " prompt += "Edit overrides, Check, Manual reject, Note edit, Prod, [S]kip, Quit ?" @@ -712,6 +713,10 @@ def do_new(): confirm = utils.our_raw_input("Really clear note (y/N)? ").lower() if confirm == "y": database.delete_new_comments(changes.get("source"), changes.get("version")) + elif answer == 'O' and not Options["Trainee"]: + confirm = utils.our_raw_input("Really clear all notes (y/N)? ").lower() + if confirm == "y": + database.delete_all_new_comments(changes.get("source")) elif answer == 'S': done = 1 elif answer == 'Q': @@ -766,7 +771,7 @@ def init(): try: Logger = Upload.Logger = logging.Logger(Cnf, "process-new") except CantOpenError, e: - Options["Trainee"] = "Oh yes" + Options["Trainee"] = "True" projectB = Upload.projectB @@ -811,9 +816,14 @@ def do_byhand(): answer = answer[:1].upper() if answer == 'A': - done = 1 - for f in byhand: - del files[f] + try: + check_daily_lock() + done = 1 + for f in byhand: + del files[f] + except CantGetLockError: + print "Hello? Operator! Give me the number for 911!" + print "Dinstall in the locked area, cant process packages, come back later" elif answer == 'M': Upload.do_reject(1, Options["Manual-Reject"]) os.unlink(Upload.pkg.changes_file[:-8]+".dak") @@ -927,6 +937,10 @@ def do_accept_stableupdate(suite, q): # pretty soon. print "Binary-only upload, source in new." move_to_holding(suite, queue_dir) + elif is_source_in_queue_dir(Cnf["Dir::Queue::Newstage"]): + # It's in newstage. Accept into the holding area + print "Binary-only upload, source in newstage." + _accept() else: # No case applicable. Bail out. Return will cause the upload # to be skipped. @@ -981,13 +995,6 @@ def do_pkg(changes_file): Upload.update_subst() files = Upload.pkg.files - try: - check_daily_lock() - except CantGetLockError: - print "Hello? Operator! Give me the number for 911!" - print "Dinstall in the locked area, cant process packages, come back later" - sys.exit(1) - try: with lock_package(Upload.pkg.changes["source"]): if not recheck(): @@ -1002,7 +1009,12 @@ def do_pkg(changes_file): (new, byhand) = check_status(files) if not new and not byhand: - do_accept() + try: + check_daily_lock() + do_accept() + except CantGetLockError: + print "Hello? Operator! Give me the number for 911!" + print "Dinstall in the locked area, cant process packages, come back later" except AlreadyLockedError, e: print "Seems to be locked by %s already, skipping..." % (e)