X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=katie.py;h=d884ef01a86efe9aa61ce8c2575acbb3ef709b02;hb=79011f8bc9062017ac69772b61288b533b0851f3;hp=147a88490aaba46ff8803a8184a559af3b7011b8;hpb=ce3a93ce25556d7f43c036435ff39676987b168b;p=dak.git diff --git a/katie.py b/katie.py index 147a8849..d884ef01 100644 --- a/katie.py +++ b/katie.py @@ -2,7 +2,7 @@ # Utility functions for katie # Copyright (C) 2001 James Troup -# $Id: katie.py,v 1.9 2002-02-25 15:12:01 troup Exp $ +# $Id: katie.py,v 1.12 2002-04-01 21:20:28 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 @@ -162,7 +162,8 @@ class Katie: "maintainername", "maintaineremail", "closes" ]: d_changes[i] = changes[i]; # Optional changes fields - for i in [ "changed-by", "maintainer822", "filecontents", "format" ]: + # FIXME: changes should be mandatory + for i in [ "changed-by", "maintainer822", "filecontents", "format", "changes" ]: if changes.has_key(i): d_changes[i] = changes[i]; ## dsc @@ -416,7 +417,7 @@ class Katie: # someone is trying to exploit us. utils.warn("**WARNING** failed to move %s from the reject directory to the morgue." % (file)); return; - utils.move(dest_file, morgue_file); + utils.move(dest_file, morgue_file, perms=0660); try: os.open(dest_file, os.O_RDWR|os.O_CREAT|os.O_EXCL, 0644); except OSError, e: @@ -427,7 +428,8 @@ class Katie: raise; # If we got here, we own the destination file, so we can # safely overwrite it. - utils.move(file, dest_file, 1); + utils.move(file, dest_file, 1, perms=0660); + ########################################################################### @@ -457,6 +459,7 @@ class Katie: Subst["__CC__"] = "X-Katie-Rejection: automatic (moo)"; os.write(fd, reject_message); os.close(fd); + reject_mail_message = utils.TemplateSubst(Subst,utils.open_file(Cnf["Dir::TemplatesDir"]+"/katie.rejected").read()); else: # Build up the rejection email user_email_address = utils.whoami() + " <%s>" % (Cnf["Dinstall::MyAdminAddress"]); @@ -477,10 +480,10 @@ class Katie: result = os.system("%s +6 %s" % (editor, reject_filename)) if result != 0: utils.fubar("editor invocation failed for '%s'!" % (reject_filename), result); + reject_mail_message = utils.open_file(reject_filename).read(); # Send the rejection mail if appropriate if not Cnf["Dinstall::Options::No-Mail"]: - reject_mail_message = utils.TemplateSubst(Subst,utils.open_file(Cnf["Dir::TemplatesDir"]+"/katie.rejected").read()); utils.send_mail (reject_mail_message, ""); self.Logger.log(["rejected", pkg.changes_file]);