diff --git a/utils/apparmor/fail.py b/utils/apparmor/fail.py index 19e4491d6..5e5cb50ec 100644 --- a/utils/apparmor/fail.py +++ b/utils/apparmor/fail.py @@ -8,12 +8,16 @@ # # ------------------------------------------------------------------ +from __future__ import print_function # needed in py2 for print('...', file=sys.stderr) + import cgitb import os import sys import tempfile import traceback +from apparmor.common import error + # # Exception handling # @@ -27,8 +31,8 @@ def handle_exception(*exc_info): (ex_cls, ex, tb) = exc_info if ex_cls.__name__ == 'AppArmorException': # I didn't find a way to get this working with isinstance() :-/ - print('') - print(ex.value) + print('', file=sys.stderr) + error(ex.value) else: (fd, path) = tempfile.mkstemp(prefix='apparmor-bugreport-', suffix='.txt') file = os.fdopen(fd, 'w') @@ -40,13 +44,13 @@ def handle_exception(*exc_info): file.write('Please consider reporting a bug at https://bugs.launchpad.net/apparmor/\n') file.write('and attach this file.\n') - print(''.join(traceback.format_exception(*exc_info))) - print('') - print('An unexpected error occoured!') - print('') - print('For details, see %s' % path) - print('Please consider reporting a bug at https://bugs.launchpad.net/apparmor/') - print('and attach this file.') + print(''.join(traceback.format_exception(*exc_info)), file=sys.stderr) + print('', file=sys.stderr) + print('An unexpected error occoured!', file=sys.stderr) + print('', file=sys.stderr) + print('For details, see %s' % path, file=sys.stderr) + print('Please consider reporting a bug at https://bugs.launchpad.net/apparmor/', file=sys.stderr) + print('and attach this file.', file=sys.stderr) def enable_aa_exception_handler(): '''Setup handle_exception() as exception handler'''