import os, pg, sys
import apt_pkg
-import dak.lib.database as database
-import dak.lib.logging as logging
-import dak.lib.queue as queue
-import dak.lib.utils as utils
+import daklib.database as database
+import daklib.logging as logging
+import daklib.queue as queue
+import daklib.utils as utils
################################################################################
('m',"manual-reject","Reject-Proposed-Updates::Options::Manual-Reject", "HasArg"),
('s',"no-mail", "Reject-Proposed-Updates::Options::No-Mail")]
for i in [ "help", "manual-reject", "no-mail" ]:
- if not Cnf.has_key("Reject-Proposed-Updates::Options::%s" % (i)):
- Cnf["Reject-Proposed-Updates::Options::%s" % (i)] = ""
+ if not Cnf.has_key("Reject-Proposed-Updates::Options::%s" % (i)):
+ Cnf["Reject-Proposed-Updates::Options::%s" % (i)] = ""
arguments = apt_pkg.ParseCommandLine(Cnf, Arguments, sys.argv)
Options = Cnf.SubTree("Reject-Proposed-Updates::Options")
if Options["Help"]:
- usage()
+ usage()
if not arguments:
utils.fubar("need at least one .changes filename as an argument.")
Upload = queue.Upload(Cnf)
Logger = Upload.Logger = logging.Logger(Cnf, "reject-proposed-updates")
- bcc = "X-DAK: dak rejected-proposed-updates\nX-Katie: this header is obsolete"
+ bcc = "X-DAK: dak rejected-proposed-updates\nX-Katie: lauren $Revision: 1.4 $"
if Cnf.has_key("Dinstall::Bcc"):
Upload.Subst["__BCC__"] = bcc + "\nBcc: %s" % (Cnf["Dinstall::Bcc"])
else:
for arg in arguments:
arg = utils.validate_changes_file_arg(arg)
Upload.pkg.changes_file = arg
- Upload.init_vars()
+ Upload.init_vars()
cwd = os.getcwd()
os.chdir(Cnf["Suite::Proposed-Updates::CopyDotDak"])
Upload.update_vars()
answer = 'E'
while answer == 'E':
os.system("%s %s" % (editor, temp_filename))
- file = utils.open_file(temp_filename)
- reject_message = "".join(file.readlines())
- file.close()
+ f = utils.open_file(temp_filename)
+ reject_message = "".join(f.readlines())
+ f.close()
print "Reject message:"
print utils.prefix_multi_line_string(reject_message," ", include_blank_lines=1)
prompt = "[R]eject, Edit, Abandon, Quit ?"
# If we fail here someone is probably trying to exploit the race
# so let's just raise an exception ...
if os.path.exists(reject_filename):
- os.unlink(reject_filename)
+ os.unlink(reject_filename)
reject_fd = os.open(reject_filename, os.O_RDWR|os.O_CREAT|os.O_EXCL, 0644)
# Build up the rejection email
projectB.query("BEGIN WORK")
# Remove files from proposed-updates suite
- for file in files.keys():
- if files[file]["type"] == "dsc":
+ for f in files.keys():
+ if files[f]["type"] == "dsc":
package = dsc["source"]
- version = dsc["version"]; # NB: not files[file]["version"], that has no epoch
+ version = dsc["version"]; # NB: not files[f]["version"], that has no epoch
q = projectB.query("SELECT id FROM source WHERE source = '%s' AND version = '%s'" % (package, version))
ql = q.getresult()
if not ql:
utils.fubar("reject: Couldn't find %s_%s in source table." % (package, version))
source_id = ql[0][0]
projectB.query("DELETE FROM src_associations WHERE suite = '%s' AND source = '%s'" % (suite_id, source_id))
- elif files[file]["type"] == "deb":
- package = files[file]["package"]
- version = files[file]["version"]
- architecture = files[file]["architecture"]
+ elif files[f]["type"] == "deb":
+ package = files[f]["package"]
+ version = files[f]["version"]
+ architecture = files[f]["architecture"]
q = projectB.query("SELECT b.id FROM binaries b, architecture a WHERE b.package = '%s' AND b.version = '%s' AND (a.arch_string = '%s' OR a.arch_string = 'all') AND b.architecture = a.id" % (package, version, architecture))
ql = q.getresult()