|
From: <mi...@us...> - 2022-02-10 09:10:29
|
Revision: 9006
http://sourceforge.net/p/docutils/code/9006
Author: milde
Date: 2022-02-10 09:10:25 +0000 (Thu, 10 Feb 2022)
Log Message:
-----------
More detailled import error for missing components.
Modified Paths:
--------------
trunk/docutils/docutils/parsers/__init__.py
trunk/docutils/docutils/readers/__init__.py
trunk/docutils/docutils/writers/__init__.py
trunk/docutils/test/test_parsers/test_rst/test_directives/test_include.py
Modified: trunk/docutils/docutils/parsers/__init__.py
===================================================================
--- trunk/docutils/docutils/parsers/__init__.py 2022-02-10 09:10:03 UTC (rev 9005)
+++ trunk/docutils/docutils/parsers/__init__.py 2022-02-10 09:10:25 UTC (rev 9006)
@@ -75,7 +75,7 @@
# 3rd-party Markdown parsers
'recommonmark': 'docutils.parsers.recommonmark_wrapper',
'myst': 'myst_parser.docutils_',
- # 'myst': 'docutils.parsers.myst_wrapper',
+ #'pycmark': works out of the box
# TODO: the following two could be either of the above
'commonmark': 'docutils.parsers.recommonmark_wrapper',
'markdown': 'docutils.parsers.recommonmark_wrapper',
@@ -83,9 +83,9 @@
def get_parser_class(parser_name):
"""Return the Parser class from the `parser_name` module."""
- parser_name = parser_name.lower()
+ name = parser_name.lower()
try:
- module = import_module(_parser_aliases.get(parser_name, parser_name))
+ module = import_module(_parser_aliases.get(name, name))
except ImportError as err:
- raise ImportError('Parser "%s" missing. %s' % (parser_name, err))
+ raise ImportError(f'Parser "{parser_name}" not found. {err}')
return module.Parser
Modified: trunk/docutils/docutils/readers/__init__.py
===================================================================
--- trunk/docutils/docutils/readers/__init__.py 2022-02-10 09:10:03 UTC (rev 9005)
+++ trunk/docutils/docutils/readers/__init__.py 2022-02-10 09:10:25 UTC (rev 9006)
@@ -101,11 +101,13 @@
def get_reader_class(reader_name):
"""Return the Reader class from the `reader_name` module."""
- reader_name = reader_name.lower()
- if reader_name in _reader_aliases:
- reader_name = _reader_aliases[reader_name]
+ name = reader_name.lower()
+ name = _reader_aliases.get(name, name)
try:
- module = import_module('docutils.readers.'+reader_name)
+ module = import_module('docutils.readers.'+name)
except ImportError:
- module = import_module(reader_name)
+ try:
+ module = import_module(name)
+ except ImportError as err:
+ raise ImportError(f'Reader "{reader_name}" not found. {err}')
return module.Reader
Modified: trunk/docutils/docutils/writers/__init__.py
===================================================================
--- trunk/docutils/docutils/writers/__init__.py 2022-02-10 09:10:03 UTC (rev 9005)
+++ trunk/docutils/docutils/writers/__init__.py 2022-02-10 09:10:25 UTC (rev 9006)
@@ -138,14 +138,13 @@
def get_writer_class(writer_name):
"""Return the Writer class from the `writer_name` module."""
- writer_name = writer_name.lower()
- if writer_name in _writer_aliases:
- writer_name = _writer_aliases[writer_name]
+ name = writer_name.lower()
+ name = _writer_aliases.get(name, name)
try:
- module = import_module('docutils.writers.'+writer_name)
+ module = import_module('docutils.writers.'+name)
except ImportError:
try:
- module = import_module(writer_name)
+ module = import_module(name)
except ImportError as err:
- raise ImportError('No writer named "%s".' % writer_name)
+ raise ImportError(f'Writer "{writer_name}" not found. {err}')
return module.Writer
Modified: trunk/docutils/test/test_parsers/test_rst/test_directives/test_include.py
===================================================================
--- trunk/docutils/test/test_parsers/test_rst/test_directives/test_include.py 2022-02-10 09:10:03 UTC (rev 9005)
+++ trunk/docutils/test/test_parsers/test_rst/test_directives/test_include.py 2022-02-10 09:10:25 UTC (rev 9006)
@@ -207,7 +207,7 @@
<paragraph>
Error in "include" directive:
invalid option value: (option: "parser"; value: \'sillyformat\')
- Parser "sillyformat" missing. No module named 'sillyformat'.
+ Parser "sillyformat" not found. No module named 'sillyformat'.
<literal_block xml:space="preserve">
.. include:: test_parsers/test_rst/test_directives/include1.txt
:parser: sillyformat
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|