X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=dak%2Ftransitions.py;h=4080f3e63b3ed8a7febc235438d39ac6dc37c055;hb=7bce495d960320fb6338030ffba2080a958fed1d;hp=3a1e2c8259cb841313fc12944df121d8c4d78916;hpb=ca08a2fab86fdcb63f297c8ab8425e01b1176bba;p=dak.git diff --git a/dak/transitions.py b/dak/transitions.py index 3a1e2c82..4080f3e6 100755 --- a/dak/transitions.py +++ b/dak/transitions.py @@ -394,8 +394,11 @@ def check_transitions(transitions): @note: Asks the user for confirmation first unless -a has been set. """ + global Cnf + to_dump = 0 to_remove = [] + info = {} # Now look through all defined transitions for trans in transitions: t = transitions[trans] @@ -405,7 +408,8 @@ def check_transitions(transitions): # Will be None if nothing is in testing. current = database.get_suite_version(source, "testing") - print get_info(trans, source, expected, t["rm"], t["reason"], t["packages"]) + info[trans] = get_info(trans, source, expected, t["rm"], t["reason"], t["packages"]) + print info[trans] if current == None: # No package in testing @@ -447,12 +451,28 @@ def check_transitions(transitions): sys.exit(0) elif answer == 'y': print "Committing" + subst = {} + subst['__TRANSITION_MESSAGE__'] = "The following transitions were removed:\n" for remove in to_remove: + subst['__TRANSITION_MESSAGE__'] += info[remove] + '\n' del transitions[remove] edit_file = temp_transitions_file(transitions) write_transitions_from_file(edit_file) + # If we have a mail address configured for transitions, + # send a notification + subst['__TRANSITION_EMAIL__'] = Cnf.get("Transitions::Notifications", "") + if subst['__TRANSITION_EMAIL__'] != "": + print "Sending notification to %s" % subst['__TRANSITION__EMAIL__'] + subst['__DAK_ADDRESS__'] = Cnf["Dinstall::MyEmailAddress"] + subst['__BCC__'] = 'X-DAK: dak transitions' + if Cnf.has_key("Dinstall::Bcc"): + subst["__BCC__"] += '\nBcc: %s' % Cnf["Dinstall:Bcc"] + message = utils.TemplateSubst(subst, + os.path.join(Cnf["Dir::Templates"], 'transition.removed')) + utils.send_mail(message) + print "Done" else: print "WTF are you typing?"