Use better color and print a newline before printing errors, to always write in an empty line.

This commit is contained in:
Georg Brandl 2009-06-16 19:54:58 +02:00
parent 3e820a6f47
commit 0ea18cab63

View File

@ -21,7 +21,7 @@ from sphinx import __version__
from sphinx.errors import SphinxError from sphinx.errors import SphinxError
from sphinx.application import Sphinx from sphinx.application import Sphinx
from sphinx.util import Tee, format_exception_cut_frames, save_traceback from sphinx.util import Tee, format_exception_cut_frames, save_traceback
from sphinx.util.console import darkred, nocolor, color_terminal from sphinx.util.console import red, nocolor, color_terminal
def usage(argv, msg=None): def usage(argv, msg=None):
@ -174,7 +174,7 @@ def main(argv):
except KeyboardInterrupt: except KeyboardInterrupt:
if use_pdb: if use_pdb:
import pdb import pdb
print >>error, darkred('Interrupted while building, ' print >>error, red('Interrupted while building, '
'starting debugger:') 'starting debugger:')
traceback.print_exc() traceback.print_exc()
pdb.post_mortem(sys.exc_info()[2]) pdb.post_mortem(sys.exc_info()[2])
@ -182,24 +182,25 @@ def main(argv):
except Exception, err: except Exception, err:
if use_pdb: if use_pdb:
import pdb import pdb
print >>error, darkred('Exception occurred while building, ' print >>error, red('Exception occurred while building, '
'starting debugger:') 'starting debugger:')
traceback.print_exc() traceback.print_exc()
pdb.post_mortem(sys.exc_info()[2]) pdb.post_mortem(sys.exc_info()[2])
else: else:
print >>error
if isinstance(err, SystemMessage): if isinstance(err, SystemMessage):
print >>error, darkred('reST markup error:') print >>error, red('reST markup error:')
print >>error, err.args[0].encode('ascii', 'backslashreplace') print >>error, err.args[0].encode('ascii', 'backslashreplace')
elif isinstance(err, SphinxError): elif isinstance(err, SphinxError):
print >>error, darkred('%s:' % err.category) print >>error, red('%s:' % err.category)
print >>error, err print >>error, err
else: else:
print >>error, darkred('Exception occurred:') print >>error, red('Exception occurred:')
print >>error, format_exception_cut_frames().rstrip() print >>error, format_exception_cut_frames().rstrip()
tbpath = save_traceback() tbpath = save_traceback()
print >>error, darkred('The full traceback has been saved ' print >>error, red('The full traceback has been saved '
'in %s, if you want to report the ' 'in %s, if you want to report the '
'issue to the author.' % tbpath) 'issue to the author.' % tbpath)
print >>error, ('Please also report this if it was a user ' print >>error, ('Please also report this if it was a user '
'error, so that a better error message ' 'error, so that a better error message '
'can be provided next time.') 'can be provided next time.')