X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=dak%2Fdak.py;h=47bbedfa5906511407a020e3947e113078536f59;hb=a2fafa4a1a2a97fd18ec98483c245e48b6500a33;hp=f3380091f32ec81537181a7aacb270493123c3a1;hpb=02609f0db8cf1ee7b7ba273a88348ba66a3a997c;p=dak.git diff --git a/dak/dak.py b/dak/dak.py index f3380091..47bbedfa 100755 --- a/dak/dak.py +++ b/dak/dak.py @@ -34,9 +34,13 @@ G{importgraph} ################################################################################ import sys -import imp +import traceback import daklib.utils +from daklib.daklog import Logger +from daklib.config import Config +from daklib.dak_exceptions import CantOpenError + ################################################################################ def init(): @@ -62,10 +66,8 @@ def init(): ("process-new", "Process NEW and BYHAND packages"), - ("process-unchecked", + ("process-upload", "Process packages in queue/unchecked"), - ("process-accepted", - "Install packages into the pool"), ("make-suite-file-list", "Generate lists of packages per suite for apt-ftparchive"), @@ -130,6 +132,8 @@ def init(): "Generate statistics"), ("bts-categorize", "Categorize uncategorized bugs filed against ftp.debian.org"), + ("import-known-changes", + "import old changes files into known_changes table"), ("add-user", "Add a user to the archive"), ] @@ -153,6 +157,12 @@ Available commands:""" def main(): """Launch dak functionality.""" + + try: + logger = Logger(Config(), 'dak top-level', print_starting=False) + except CantOpenError: + logger = None + functionality = init() modules = [ command for (command, _) in functionality ] @@ -190,7 +200,21 @@ def main(): # Invoke the module module = __import__(cmdname.replace("-","_")) - module.main() + try: + module.main() + except KeyboardInterrupt: + msg = 'KeyboardInterrupt caught; exiting' + print msg + if logger: + logger.log([msg]) + sys.exit(1) + except SystemExit: + pass + except: + if logger: + for line in traceback.format_exc().split('\n')[:-1]: + logger.log(['exception', line]) + raise ################################################################################