|
From: <mi...@us...> - 2021-04-07 17:57:30
|
Revision: 8673
http://sourceforge.net/p/docutils/code/8673
Author: milde
Date: 2021-04-07 17:57:27 +0000 (Wed, 07 Apr 2021)
Log Message:
-----------
Improve help and error msg for docutils-cli.
Modified Paths:
--------------
trunk/docutils/docutils/writers/__init__.py
trunk/docutils/tools/docutils-cli.py
Modified: trunk/docutils/docutils/writers/__init__.py
===================================================================
--- trunk/docutils/docutils/writers/__init__.py 2021-04-07 12:10:06 UTC (rev 8672)
+++ trunk/docutils/docutils/writers/__init__.py 2021-04-07 17:57:27 UTC (rev 8673)
@@ -16,7 +16,6 @@
from docutils import languages, Component
from docutils.transforms import universal
-
class Writer(Component):
"""
@@ -147,5 +146,8 @@
try:
module = import_module('docutils.writers.'+writer_name)
except ImportError:
- module = import_module(writer_name)
+ try:
+ module = import_module(writer_name)
+ except ImportError as err:
+ raise ImportError('No writer named "%s".' % writer_name)
return module.Writer
Modified: trunk/docutils/tools/docutils-cli.py
===================================================================
--- trunk/docutils/tools/docutils-cli.py 2021-04-07 12:10:06 UTC (rev 8672)
+++ trunk/docutils/tools/docutils-cli.py 2021-04-07 17:57:27 UTC (rev 8673)
@@ -27,6 +27,7 @@
import sys
from docutils.core import publish_cmdline, default_description
+from docutils.utils import SystemMessage
description = u'Generate documents from reStructuredText or Markdown sources.'
@@ -36,20 +37,21 @@
u'components, the list below adapts to your selection.'
)
-parser = argparse.ArgumentParser(add_help=False, description=description,
- epilog=epilog)
+parser = argparse.ArgumentParser(add_help=False,
+ description=description, epilog=epilog,
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter)
parser.add_argument('--reader', choices=('standalone', 'pep'),
- help=u'Reader name (default "standalone").',
+ help=u'Reader name.',
default='standalone')
parser.add_argument('--parser', choices=('markdown', 'rst'),
- help=u'Parser name (default "rst").',
+ help=u'Parser name.',
default='rst')
parser.add_argument('--writer',
# choices=('html', 'html4', 'html5', 'latex', 'xelatex',
# 'odt', 'xml', 'pseudoxml', 'manpage',
# 'pep_html', 's5_html'),
- help=u'Writer name (default "html5").',
+ help=u'Writer name.',
default='html5')
(args, remainder) = parser.parse_known_args()
@@ -59,9 +61,12 @@
print(parser.format_help())
print('')
-
-publish_cmdline(reader_name=args.reader,
- parser_name=args.parser,
- writer_name=args.writer,
- description=default_description,
- argv=remainder)
+try:
+ publish_cmdline(reader_name=args.reader,
+ parser_name=args.parser,
+ writer_name=args.writer,
+ description=default_description,
+ argv=remainder)
+except ImportError as error:
+ print(parser.format_help())
+ print('ImportError:', error)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|