diff --git a/pisi-cli b/pisi-cli index 55c21063..f309864a 100755 --- a/pisi-cli +++ b/pisi-cli @@ -10,16 +10,33 @@ # Please read the COPYING file. # +import sys + from pisi.cli.pisicli import PisiCLI +from pisi.ui import ui + +def handleException(exception, value, tb): + import traceback + import exceptions + + if exception == exceptions.KeyboardInterrupt: + ui.error("\nKeyboardInterrupt: Exiting...\n") + sys.exit(1) + + ui.error(""" +Internal PISI Error: +Please file a bug report! (http://bugs.uludag.org.tr) + +""") + + ui.info("Traceback:\n") + traceback.print_tb(tb) + sys.exit(1) if __name__ == "__main__": - try: - cli = PisiCLI() - cli.runCommand() - except KeyboardInterrupt: - import sys - from pisi.ui import ui - ui.error("\nKeyboardIntterupt: exiting...\n") - sys.exit(1) + sys.excepthook = handleException + + cli = PisiCLI() + cli.runCommand()