Closes #811: dont eat up UnicodeErrors during reading anymore

This commit is contained in:
Georg Brandl 2014-01-19 18:43:26 +01:00
parent 63b4f3bfae
commit 7e2ca25ee0
2 changed files with 9 additions and 5 deletions

View File

@ -273,6 +273,13 @@ def main(argv):
elif isinstance(err, SphinxError):
print >>error, red('%s:' % err.category)
print >>error, terminal_safe(unicode(err))
elif isinstance(err, UnicodeError):
print >>error, red('Encoding error:')
print >>error, terminal_safe(unicode(err))
tbpath = save_traceback(app)
print >>error, red('The full traceback has been saved '
'in %s, if you want to report the '
'issue to the developers.' % tbpath)
else:
print >>error, red('Exception occurred:')
print >>error, format_exception_cut_frames().rstrip()

View File

@ -614,11 +614,8 @@ class BuildEnvironment:
pub.process_programmatic_settings(None, self.settings, None)
pub.set_source(None, src_path.encode(fs_encoding))
pub.set_destination(None, None)
try:
pub.publish()
doctree = pub.document
except UnicodeError, err:
raise SphinxError(str(err))
pub.publish()
doctree = pub.document
# post-processing
self.filter_messages(doctree)