summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2014-01-19 18:43:26 +0100
committerGeorg Brandl <georg@python.org>2014-01-19 18:43:26 +0100
commit8efb0ee600c010040ad3b9a11e7f36ef10d079b9 (patch)
tree31ebe373c884f1e73143d4bdd0670054a583a741
parentdb7406902d89352524f3ee43eb5a095e1a7bedc3 (diff)
downloadsphinx-8efb0ee600c010040ad3b9a11e7f36ef10d079b9.tar.gz
Closes #811: dont eat up UnicodeErrors during reading anymore
-rw-r--r--sphinx/cmdline.py7
-rw-r--r--sphinx/environment.py7
2 files changed, 9 insertions, 5 deletions
diff --git a/sphinx/cmdline.py b/sphinx/cmdline.py
index f4a09e16..99001a28 100644
--- a/sphinx/cmdline.py
+++ b/sphinx/cmdline.py
@@ -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()
diff --git a/sphinx/environment.py b/sphinx/environment.py
index a319ef3c..8e3a10bb 100644
--- a/sphinx/environment.py
+++ b/sphinx/environment.py
@@ -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)