diff options
Diffstat (limited to 'src/jarabe/controlpanel/cmd.py')
-rw-r--r-- | src/jarabe/controlpanel/cmd.py | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/jarabe/controlpanel/cmd.py b/src/jarabe/controlpanel/cmd.py index a1eb044..9a8ed9e 100644 --- a/src/jarabe/controlpanel/cmd.py +++ b/src/jarabe/controlpanel/cmd.py @@ -18,6 +18,7 @@ import sys import getopt import os from gettext import gettext as _ +import traceback from jarabe import config @@ -58,10 +59,15 @@ def load_modules(): for item in folder: if os.path.isdir(os.path.join(path, item)) and \ - os.path.exists(os.path.join(path, item, 'model.py')): - module = __import__('.'.join(('cpsection', item, 'model')), - globals(), locals(), ['model']) - modules.append(module) + os.path.exists(os.path.join(path, item, 'model.py')): + try: + module = __import__('.'.join(('cpsection', item, 'model')), + globals(), locals(), ['model']) + except Exception: + logging.error('Exception while loading extension:\n' + \ + ''.join(traceback.format_exception(*sys.exc_info()))) + else: + modules.append(module) return modules |