+ # If we weren't given a manual rejection message, spawn an
+ # editor so the user can add one in...
+ if manual and not reject_message:
+ temp_filename = tempfile.mktemp();
+ fd = os.open(temp_filename, os.O_RDWR|os.O_CREAT|os.O_EXCL, 0700);
+ os.close(fd);
+ editor = os.environ.get("EDITOR","vi")
+ answer = 'E';
+ while answer == 'E':
+ os.system("%s %s" % (editor, temp_filename))
+ file = utils.open_file(temp_filename);
+ reject_message = string.join(file.readlines());
+ file.close();
+ print "Reject message:";
+ print utils.prefix_multi_line_string(reject_message," ");
+ prompt = "[R]eject, Edit, Abandon, Quit ?"
+ answer = "XXX";
+ while string.find(prompt, answer) == -1:
+ answer = utils.our_raw_input(prompt);
+ m = re_default_answer.search(prompt);
+ if answer == "":
+ answer = m.group(1);
+ answer = string.upper(answer[:1]);
+ os.unlink(temp_filename);
+ if answer == 'A':
+ return 1;
+ elif answer == 'Q':
+ sys.exit(0);
+