From ee5165b176da1b73743063e67489b38418a1a249 Mon Sep 17 00:00:00 2001 From: milde Date: Tue, 16 Jan 2018 20:43:16 +0000 Subject: [PATCH] Fix code_analyzer problem under Python 3.3. Handle pkg_resources.DistributionNotFound error raised by pygments if no lexer can be found for a "code" role or directive. git-svn-id: http://svn.code.sf.net/p/docutils/code/trunk@8213 929543f6-e4f2-0310-98a6-ba3bd3dd1d04 --- docutils/docutils/utils/code_analyzer.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/docutils/docutils/utils/code_analyzer.py b/docutils/docutils/utils/code_analyzer.py index 7e4197924..eedf621b0 100644 --- a/docutils/docutils/utils/code_analyzer.py +++ b/docutils/docutils/utils/code_analyzer.py @@ -9,6 +9,11 @@ from docutils import ApplicationError try: + from pkg_resources import DistributionNotFound as ResourceError +except (ImportError, RuntimeError): + class ResourceError(ApplicationError): + pass # stub +try: import pygments from pygments.lexers import get_lexer_by_name from pygments.formatters.html import _get_ttype_class @@ -61,7 +66,7 @@ class Lexer(object): 'Pygments package not found.') try: self.lexer = get_lexer_by_name(self.language) - except pygments.util.ClassNotFound: + except (pygments.util.ClassNotFound, ResourceError): raise LexerError('Cannot analyze code. ' 'No Pygments lexer found for "%s".' % language) # self.lexer.add_filter('tokenmerge') -- 2.11.4.GIT