###########################################################################
- def accept (self, summary, short_summary):
+ def accept (self, summary, short_summary, targetdir=None):
"""
Accept an upload.
changes_file = self.pkg.changes_file
dsc = self.pkg.dsc
+ if targetdir is None:
+ targetdir = Cnf["Dir::Queue::Accepted"]
+
print "Accepting."
self.Logger.log(["Accepting changes",changes_file])
- self.dump_vars(Cnf["Dir::Queue::Accepted"])
+ self.dump_vars(targetdir)
# Move all the files into the accepted directory
- utils.move(changes_file, Cnf["Dir::Queue::Accepted"])
+ utils.move(changes_file, targetdir)
file_keys = files.keys()
for file_entry in file_keys:
- utils.move(file_entry, Cnf["Dir::Queue::Accepted"])
+ utils.move(file_entry, targetdir)
self.accept_bytes += float(files[file_entry]["size"])
self.accept_count += 1
os.rename(temp_filename, filename)
os.chmod(filename, 0644)
+ # Its is Cnf["Dir::Queue::Accepted"] here, not targetdir!
+ # <Ganneff> we do call queue_build too
+ # <mhy> well yes, we'd have had to if we were inserting into accepted
+ # <Ganneff> now. thats database only.
+ # <mhy> urgh, that's going to get messy
+ # <Ganneff> so i make the p-n call to it *also* using accepted/
+ # <mhy> but then the packages will be in the queue_build table without the files being there
+ # <Ganneff> as the buildd queue is only regenerated whenever unchecked runs
+ # <mhy> ah, good point
+ # <Ganneff> so it will work out, as unchecked move it over
+ # <mhy> that's all completely sick
+ # <Ganneff> yes
self.queue_build("accepted", Cnf["Dir::Queue::Accepted"])
###########################################################################
###########################################################################
- def do_reject (self, manual = 0, reject_message = ""):
+ def do_reject (self, manual = 0, reject_message = "", note = ""):
"""
Reject an upload. If called without a reject message or C{manual} is
true, spawn an editor so the user can write one.
# editor so the user can add one in...
if manual and not reject_message:
(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':
if os.path.exists(in_unchecked) and False:
return (self.reject_message, in_unchecked)
else:
- for directory in [ "Accepted", "New", "Byhand", "ProposedUpdates", "OldProposedUpdates" ]:
+ for directory in [ "Accepted", "New", "Byhand", "ProposedUpdates", "OldProposedUpdates", "Embargoed", "Unembargoed" ]:
in_otherdir = os.path.join(self.Cnf["Dir::Queue::%s" % (directory)],dsc_file)
if os.path.exists(in_otherdir):
in_otherdir_fh = utils.open_file(in_otherdir)
self.reject("size for %s doesn't match %s." % (found, file))
return (self.reject_message, None)
-
- def do_query(self, query):
- """
- Executes a database query. Writes statistics / timing to stderr.
-
- @type query: string
- @param query: database query string, passed unmodified
-
- @return: db result
-
- @warning: The query is passed B{unmodified}, so be careful what you use this for.
- """
- sys.stderr.write("query: \"%s\" ... " % (query))
- before = time.time()
- r = self.projectB.query(query)
- time_diff = time.time()-before
- sys.stderr.write("took %.3f seconds.\n" % (time_diff))
- return r