From f802d8139cac756195f259132485f9c00db036fb Mon Sep 17 00:00:00 2001 From: Laurent Peuch Date: Tue, 15 Jun 2021 00:49:32 +0200 Subject: [PATCH] [enh] use rich.console.print_exception --- moulinette/__init__.py | 4 +++- moulinette/actionsmap.py | 6 ++---- moulinette/authenticators/__init__.py | 5 ++--- moulinette/interfaces/__init__.py | 6 ++---- 4 files changed, 9 insertions(+), 12 deletions(-) diff --git a/moulinette/__init__.py b/moulinette/__init__.py index e407e8dd..66c1bd0d 100755 --- a/moulinette/__init__.py +++ b/moulinette/__init__.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- from rich import traceback +from rich.console import Console from moulinette.core import ( MoulinetteError, @@ -44,10 +45,11 @@ msignals = MoulinetteSignals() msettings = dict() m18n = Moulinette18n() +console = Console() + # pretty traceback using rich traceback.install(show_locals=True, extra_lines=6) - # Package functions diff --git a/moulinette/actionsmap.py b/moulinette/actionsmap.py index 6b162868..927bc73c 100644 --- a/moulinette/actionsmap.py +++ b/moulinette/actionsmap.py @@ -11,7 +11,7 @@ from time import time from collections import OrderedDict from importlib import import_module -from moulinette import m18n, msignals +from moulinette import m18n, msignals, console from moulinette.cache import open_cachefile from moulinette.globals import init_moulinette_env from moulinette.core import ( @@ -570,9 +570,7 @@ class ActionsMap(object): ) func = getattr(mod, func_name) except (AttributeError, ImportError) as e: - import traceback - - traceback.print_exc() + console.print_exception() error_message = "unable to load function %s.%s because: %s" % ( namespace, func_name, diff --git a/moulinette/authenticators/__init__.py b/moulinette/authenticators/__init__.py index e004db0a..b6df61f6 100644 --- a/moulinette/authenticators/__init__.py +++ b/moulinette/authenticators/__init__.py @@ -5,6 +5,7 @@ import logging import hashlib import hmac +from moulinette import console from moulinette.cache import open_cachefile, get_cachedir, cachefile_exists from moulinette.core import MoulinetteError, MoulinetteAuthenticationError @@ -115,9 +116,7 @@ class BaseAuthenticator(object): s_id, s_token = token self._store_session(s_id, s_token) except Exception as e: - import traceback - - traceback.print_exc() + console.print_exception() logger.exception("unable to store session because %s", e) else: logger.debug("session has been stored") diff --git a/moulinette/interfaces/__init__.py b/moulinette/interfaces/__init__.py index a73bc5f6..94e1ad6e 100644 --- a/moulinette/interfaces/__init__.py +++ b/moulinette/interfaces/__init__.py @@ -6,7 +6,7 @@ import argparse import copy from collections import deque, OrderedDict -from moulinette import msettings, m18n +from moulinette import msettings, m18n, console from moulinette.core import MoulinetteError logger = logging.getLogger("moulinette.interface") @@ -357,9 +357,7 @@ class _CallbackAction(argparse.Action): mod = __import__(mod_name, globals=globals(), level=0, fromlist=[func_name]) func = getattr(mod, func_name) except (AttributeError, ImportError): - import traceback - - traceback.print_exc() + console.print_exception() raise ValueError("unable to import method {0}".format(self.callback_method)) self._callback = func