diff --git a/pisi-cli b/pisi-cli index a0f1b90d..1f1b0c8a 100755 --- a/pisi-cli +++ b/pisi-cli @@ -23,27 +23,34 @@ def handle_exception(exception, value, tb): import exceptions import pisi.ui + import pisi.context as ctx from pisi.xmlext import XmlError ui = pisi.cli.CLI() - + traceback = False if exception == exceptions.KeyboardInterrupt: ui.error(_("\nKeyboardInterrupt: Exiting...\n")) sys.exit(1) elif exception == XmlError: ui.error(str(value)) sys.exit(1) - - ui.error(_(""" + elif exception == pisi.Exception: + ui.error(_(""" Internal PISI Error: Please file a bug report! (http://bugs.uludag.org.tr) - """)) + traceback = True + elif exception == pisi.Error: + ui.error(_("Fatal Error:")) + traceback = ctx.options and ctx.options.debug ui.error("%s" %exception) ui.error("%s\n" %value) - ui.info(_("Traceback:")) - traceback.print_tb(tb) + + if traceback: + ui.info(_("Traceback:")) + traceback.print_tb(tb) + sys.exit(1) if __name__ == "__main__": diff --git a/pisi/api.py b/pisi/api.py index 9a8484fb..bf1992ef 100644 --- a/pisi/api.py +++ b/pisi/api.py @@ -17,6 +17,9 @@ import sys ver = sys.version_info if ver[0] <= 2 and ver[1] < 4: from sets import Set as set +import gettext +__trans = gettext.translation('pisi', fallback=True) +_ = __trans.ugettext import pisi @@ -49,11 +52,10 @@ def init(database = True, options = None, ui = None ): import comar ctx.comard = comar.Link() except ImportError: - print "INSTALL COMARD!" + raise Error(_("COMAR: comard not fully installed")) print "skipping COMAR connection for now..." except comar.Error: - print "NEXT TIME RUN COMARD FIRST!" - print "skipping COMAR connection for now..." + raise Error(_("COMAR: comard not running or defunct")) if ui is None: if options: