]> git.decadent.org.uk Git - dak.git/blobdiff - dak/process_new.py
*sigh*
[dak.git] / dak / process_new.py
index 8f3ad0cfe022f2862a9a7f31a52676bc4b080370..53fed5f50acc0634c2569865ea315405515ad08f 100755 (executable)
@@ -469,20 +469,15 @@ def edit_overrides (new):
 def edit_note(note):
     # Write the current data to a temporary file
     (fd, temp_filename) = utils.temp_filename()
-    temp_file = os.fdopen(fd, 'w')
-    if len(note) > 0:
-        for line in note:
-            temp_file.write(line)
-    temp_file.close()
     editor = os.environ.get("EDITOR","vi")
     answer = 'E'
     while answer == 'E':
         os.system("%s %s" % (editor, temp_filename))
         temp_file = utils.open_file(temp_filename)
-        note = temp_file.read().rstrip()
+        newnote = temp_file.read().rstrip()
         temp_file.close()
-        print "Note:"
-        print utils.prefix_multi_line_string(note,"  ")
+        print "New Note:"
+        print utils.prefix_multi_line_string(newnote,"  ")
         prompt = "[D]one, Edit, Abandon, Quit ?"
         answer = "XXX"
         while prompt.find(answer) == -1:
@@ -497,7 +492,7 @@ def edit_note(note):
     elif answer == 'Q':
         end()
         sys.exit(0)
-    database.add_new_comment(Upload.pkg.changes["source"], Upload.pkg.changes["version"], note, utils.whoami())
+    database.add_new_comment(Upload.pkg.changes["source"], Upload.pkg.changes["version"], newnote, utils.whoami())
 
 ################################################################################
 
@@ -574,16 +569,21 @@ def add_overrides (new):
 
 ################################################################################
 
-def prod_maintainer ():
+def prod_maintainer (note):
     # Here we prepare an editor and get them ready to prod...
     (fd, temp_filename) = utils.temp_filename()
+    temp_file = os.fdopen(fd, 'w')
+    if len(note) > 0:
+        for line in note:
+            temp_file.write(line)
+    temp_file.close()
     editor = os.environ.get("EDITOR","vi")
     answer = 'E'
     while answer == 'E':
         os.system("%s %s" % (editor, temp_filename))
-        f = os.fdopen(fd)
-        prod_message = "".join(f.readlines())
-        f.close()
+        temp_fh = utils.open_file(temp_filename)
+        prod_message = "".join(temp_fh.readlines())
+        temp_fh.close()
         print "Prod message:"
         print utils.prefix_multi_line_string(prod_message,"  ",include_blank_lines=1)
         prompt = "[P]rod, Edit, Abandon, Quit ?"
@@ -689,14 +689,16 @@ def do_new():
         elif answer == 'E' and not Options["Trainee"]:
             new = edit_overrides (new)
         elif answer == 'M' and not Options["Trainee"]:
-            aborted = Upload.do_reject(1, Options["Manual-Reject"])
+            aborted = Upload.do_reject(manual=1,
+                                       reject_message=Options["Manual-Reject"],
+                                       note=database.get_new_comments(changes.get("source", "")))
             if not aborted:
                 os.unlink(Upload.pkg.changes_file[:-8]+".dak")
                 done = 1
         elif answer == 'N':
             edit_note(database.get_new_comments(changes.get("source", "")))
         elif answer == 'P' and not Options["Trainee"]:
-            prod_maintainer()
+            prod_maintainer(database.get_new_comments(changes.get("source", "")))
         elif answer == 'R':
             confirm = utils.our_raw_input("Really clear note (y/N)? ").lower()
             if confirm == "y":
@@ -983,7 +985,7 @@ def end():
         sys.stderr.write("Accepted %d package %s, %s.\n" % (accept_count, sets, utils.size_type(int(accept_bytes))))
         Logger.log(["total",accept_count,accept_bytes])
 
-    if not Options["No-Action"] and not Options["Trainee"]::
+    if not Options["No-Action"] and not Options["Trainee"]:
         Logger.close()
 
 ################################################################################