def action(u):
cnf = Config()
+ holding = Holding()
# changes["distribution"] may not exist in corner cases
# (e.g. unreadable changes files)
answer = m.group(1)
answer = answer[:1].upper()
+ session = DBConn().session()
+
if answer == 'R':
os.chdir(u.pkg.directory)
u.do_reject(0, pi)
elif answer == 'A':
- u.pkg.add_known_changes( "Accepted" )
- u.accept(summary, short_summary)
+ u.pkg.add_known_changes(holding.holding_dir, session)
+ u.accept(summary, short_summary, session)
u.check_override()
u.remove()
elif answer == queuekey:
- u.pkg.add_known_changes( qu )
- QueueInfo[qu]["process"](u, summary, short_summary)
+ u.pkg.add_known_changes(holding.holding_dir, session)
+ QueueInfo[qu]["process"](u, summary, short_summary, session)
u.remove()
elif answer == 'Q':
sys.exit(0)
+ session.commit()
+
###############################################################################
+def cleanup():
+ h = Holding()
+ if not Options["No-Action"]:
+ h.clean()
+
def process_it(changes_file):
global Logger
action(u)
except (SystemExit, KeyboardInterrupt):
+ cleanup()
raise
except:
print "ERROR"
traceback.print_exc(file=sys.stderr)
+ cleanup()
# Restore previous WD
os.chdir(u.prevdir)