|
From: <mi...@us...> - 2026-06-27 17:26:05
|
Revision: 10375
http://sourceforge.net/p/docutils/code/10375
Author: milde
Date: 2026-06-27 17:26:02 +0000 (Sat, 27 Jun 2026)
Log Message:
-----------
Revise `SettingsSpec` definitions.
Use more consistent style.
A `frontend.validate_boolean` validator is required for boolean settings
(converts config file entries to True/False).
It does not need to be specified again in the "reverse-option" for the same
setting variable.
Modified Paths:
--------------
trunk/docutils/docutils/frontend.py
trunk/docutils/docutils/parsers/__init__.py
trunk/docutils/docutils/parsers/rst/__init__.py
trunk/docutils/docutils/writers/_html_base.py
trunk/docutils/docutils/writers/docutils_xml.py
trunk/docutils/docutils/writers/html5_polyglot/__init__.py
trunk/docutils/docutils/writers/latex2e/__init__.py
Modified: trunk/docutils/docutils/frontend.py
===================================================================
--- trunk/docutils/docutils/frontend.py 2026-06-27 17:25:52 UTC (rev 10374)
+++ trunk/docutils/docutils/frontend.py 2026-06-27 17:26:02 UTC (rev 10375)
@@ -686,32 +686,33 @@
'General Docutils Options',
None,
(('Output destination name. (default: stdout)',
- ['--output', '-o'], {'metavar': '<destination>',
- 'dest': 'output_path'}),
+ ['--output', '-o'],
+ {'dest': 'output_path', 'metavar': '<destination>'}),
('Specify the document title as metadata.',
['--title'], {'metavar': '<title>'}),
('Include a "Generated by Docutils" credit and link.',
- ['--generator', '-g'], {'action': 'store_true',
- 'validator': validate_boolean}),
+ ['--generator', '-g'],
+ {'action': 'store_true', 'validator': validate_boolean}),
('Do not include a generator credit.',
- ['--no-generator'], {'action': 'store_false', 'dest': 'generator'}),
+ ['--no-generator'],
+ {'dest': 'generator', 'action': 'store_false'}),
('Include the date at the end of the document (UTC).',
- ['--date', '-d'], {'action': 'store_const', 'const': '%Y-%m-%d',
- 'dest': 'datestamp'}),
+ ['--date', '-d'],
+ {'dest': 'datestamp', 'action': 'store_const', 'const': '%Y-%m-%d'}),
('Include the time & date (UTC).',
- ['--time', '-t'], {'action': 'store_const',
- 'const': '%Y-%m-%d %H:%M UTC',
- 'dest': 'datestamp'}),
+ ['--time', '-t'],
+ {'dest': 'datestamp', 'action': 'store_const',
+ 'const': '%Y-%m-%d %H:%M UTC'}),
('Do not include a datestamp of any kind.',
- ['--no-datestamp'], {'action': 'store_const', 'const': None,
- 'dest': 'datestamp'}),
+ ['--no-datestamp'],
+ {'dest': 'datestamp', 'action': 'store_const', 'const': None}),
('Base directory for absolute paths when reading '
'from the local filesystem. (default: "")',
['--root-prefix'],
{'default': '', 'metavar': '<path>'}),
('Include a "View document source" link.',
- ['--source-link', '-s'], {'action': 'store_true',
- 'validator': validate_boolean}),
+ ['--source-link', '-s'],
+ {'action': 'store_true', 'validator': validate_boolean}),
('Use <URL> for a source link; implies --source-link.',
['--source-url'], {'metavar': '<URL>'}),
('Do not include a "View document source" link.',
@@ -737,66 +738,69 @@
{'dest': 'footnote_backlinks', 'action': 'store_false'}),
('Enable section numbering by Docutils. (default)',
['--section-numbering'],
- {'action': 'store_true', 'dest': 'sectnum_xform',
+ {'dest': 'sectnum_xform', 'action': 'store_true',
'default': True, 'validator': validate_boolean}),
('Disable section numbering by Docutils.',
['--no-section-numbering'],
- {'action': 'store_false', 'dest': 'sectnum_xform'}),
+ {'dest': 'sectnum_xform', 'action': 'store_false'}),
('Remove comment elements from the document tree.',
['--strip-comments'],
{'action': 'store_true', 'validator': validate_boolean}),
('Leave comment elements in the document tree. (default)',
['--leave-comments'],
- {'action': 'store_false', 'dest': 'strip_comments'}),
+ {'dest': 'strip_comments', 'action': 'store_false'}),
('Remove all elements with classes="<class>" from the document tree. '
'Warning: potentially dangerous; use with caution. '
'(multiple-use option.)',
['--strip-elements-with-class'],
- {'action': 'append', 'dest': 'strip_elements_with_classes',
+ {'dest': 'strip_elements_with_classes', 'action': 'append',
'metavar': '<class>', 'validator': validate_strip_class}),
('Remove all classes="<class>" attributes from elements in the '
'document tree. Warning: potentially dangerous; use with caution. '
'(multiple-use option.)',
['--strip-class'],
- {'action': 'append', 'dest': 'strip_classes',
+ {'dest': 'strip_classes', 'action': 'append',
'metavar': '<class>', 'validator': validate_strip_class}),
('Report system messages at or higher than <level>: "info" or "1", '
'"warning"/"2" (default), "error"/"3", "severe"/"4", "none"/"5"',
- ['--report', '-r'], {'choices': threshold_choices, 'default': 2,
- 'dest': 'report_level', 'metavar': '<level>',
- 'validator': validate_threshold}),
+ ['--report', '-r'],
+ {'dest': 'report_level', 'choices': threshold_choices, 'default': 2,
+ 'metavar': '<level>', 'validator': validate_threshold}),
('Report all system messages. (Same as "--report=1".)',
- ['--verbose', '-v'], {'action': 'store_const', 'const': 1,
- 'dest': 'report_level'}),
+ ['--verbose', '-v'],
+ {'dest': 'report_level', 'action': 'store_const', 'const': 1}),
('Report no system messages. (Same as "--report=5".)',
- ['--quiet', '-q'], {'action': 'store_const', 'const': 5,
- 'dest': 'report_level'}),
+ ['--quiet', '-q'],
+ {'dest': 'report_level', 'action': 'store_const', 'const': 5}),
('Halt execution at system messages at or above <level>. '
'Levels as in --report. Default: 4 (severe).',
- ['--halt'], {'choices': threshold_choices, 'dest': 'halt_level',
- 'default': 4, 'metavar': '<level>',
- 'validator': validate_threshold}),
+ ['--halt'],
+ {'dest': 'halt_level', 'choices': threshold_choices, 'default': 4,
+ 'metavar': '<level>', 'validator': validate_threshold}),
('Halt at the slightest problem. Same as "--halt=info".',
- ['--strict'], {'action': 'store_const', 'const': 1,
- 'dest': 'halt_level'}),
+ ['--strict'],
+ {'dest': 'halt_level', 'action': 'store_const', 'const': 1}),
('Enable a non-zero exit status for non-halting system messages at '
'or above <level>. Default: 5 (disabled).',
- ['--exit-status'], {'choices': threshold_choices,
- 'dest': 'exit_status_level',
- 'default': 5, 'metavar': '<level>',
- 'validator': validate_threshold}),
+ ['--exit-status'],
+ {'dest': 'exit_status_level', 'choices': threshold_choices,
+ 'default': 5,
+ 'metavar': '<level>', 'validator': validate_threshold}),
('Enable debug-level system messages and diagnostics.',
- ['--debug'], {'action': 'store_true',
- 'validator': validate_boolean}),
+ ['--debug'],
+ {'action': 'store_true', 'validator': validate_boolean}),
('Disable debug output. (default)',
- ['--no-debug'], {'action': 'store_false', 'dest': 'debug'}),
+ ['--no-debug'],
+ {'dest': 'debug', 'action': 'store_false'}),
('Send the output of system messages to <file>.',
- ['--warnings'], {'dest': 'warning_stream', 'metavar': '<file>'}),
+ ['--warnings'],
+ {'dest': 'warning_stream', 'metavar': '<file>'}),
('Enable Python tracebacks when Docutils is halted.',
- ['--traceback'], {'action': 'store_true', 'default': None,
- 'validator': validate_boolean}),
+ ['--traceback'],
+ {'action': 'store_true', 'validator': validate_boolean}),
('Disable Python tracebacks. (default)',
- ['--no-traceback'], {'dest': 'traceback', 'action': 'store_false'}),
+ ['--no-traceback'],
+ {'dest': 'traceback', 'action': 'store_false'}),
('Specify the encoding and optionally the '
'error handler of input text. (default: utf-8)',
['--input-encoding'],
@@ -820,19 +824,22 @@
{'default': default_error_encoding_error_handler,
'validator': validate_encoding_error_handler}),
('Specify the language (as BCP 47 language tag). (default: en)',
- ['--language', '-l'], {'dest': 'language_code', 'default': 'en',
- 'metavar': '<tag>'}),
+ ['--language', '-l'],
+ {'dest': 'language_code', 'metavar': '<tag>', 'default': 'en'}),
('Write output file dependencies to <file>.',
['--record-dependencies'],
{'metavar': '<file>', 'validator': validate_dependency_file,
- 'default': None}), # default set in Values class
+ 'default': None}), # default file set in Values class
('Read configuration settings from <file>, if it exists.',
- ['--config'], {'metavar': '<file>', 'type': 'string',
- 'action': 'callback', 'callback': read_config_file}),
+ ['--config'],
+ {'metavar': '<file>', 'type': 'string',
+ 'action': 'callback', 'callback': read_config_file}),
("Show this program's version number and exit.",
- ['--version', '-V'], {'action': 'version'}),
+ ['--version', '-V'],
+ {'action': 'version'}),
('Show this help message and exit.',
- ['--help', '-h'], {'action': 'help'}),
+ ['--help', '-h'],
+ {'action': 'help'}),
# Typically not useful for non-programmatical use:
(SUPPRESS_HELP, ['--id-prefix'], {'default': ''}),
(SUPPRESS_HELP, ['--auto-id-prefix'], {'default': '%'}),
@@ -843,7 +850,7 @@
(SUPPRESS_HELP, ['--dump-transforms'], {'action': 'store_true'}),
(SUPPRESS_HELP, ['--dump-pseudo-xml'], {'action': 'store_true'}),
(SUPPRESS_HELP, ['--expose-internal-attribute'],
- {'action': 'append', 'dest': 'expose_internals',
+ {'dest': 'expose_internals', 'action': 'append',
'validator': validate_colon_separated_string_list}),
(SUPPRESS_HELP, ['--strict-visitor'], {'action': 'store_true'}),
))
Modified: trunk/docutils/docutils/parsers/__init__.py
===================================================================
--- trunk/docutils/docutils/parsers/__init__.py 2026-06-27 17:25:52 UTC (rev 10374)
+++ trunk/docutils/docutils/parsers/__init__.py 2026-06-27 17:26:02 UTC (rev 10375)
@@ -29,9 +29,8 @@
(('Disable directives that insert the contents of an external file; '
'replaced with a "warning" system message.',
['--no-file-insertion'],
- {'action': 'store_false', 'default': True,
- 'dest': 'file_insertion_enabled',
- 'validator': frontend.validate_boolean}),
+ {'dest': 'file_insertion_enabled', 'action': 'store_false',
+ 'default': True, 'validator': frontend.validate_boolean}),
('Enable directives that insert the contents '
'of an external file. (default)',
['--file-insertion-enabled'],
@@ -39,7 +38,7 @@
('Disable the "raw" directive; '
'replaced with a "warning" system message.',
['--no-raw'],
- {'action': 'store_false', 'default': True, 'dest': 'raw_enabled',
+ {'dest': 'raw_enabled', 'action': 'store_false', 'default': True,
'validator': frontend.validate_boolean}),
('Enable the "raw" directive. (default)',
['--raw-enabled'],
@@ -50,20 +49,17 @@
'validator': frontend.validate_nonnegative_int}),
('Keep identifiers backwards compatible. (default)',
['--legacy-ids'],
- {'action': 'store_true',
- 'validator': frontend.validate_boolean,
- 'default': True}),
+ {'action': 'store_true', 'default': True,
+ 'validator': frontend.validate_boolean}),
('Explicit targets use identifiers matching the reference name.',
['--matching-ids'],
- {'action': 'store_false',
- 'dest': 'legacy_ids'}),
+ {'dest': 'legacy_ids', 'action': 'store_false'}),
('Validate the document tree after parsing.',
['--validate'],
- {'action': 'store_true',
- 'validator': frontend.validate_boolean}),
+ {'action': 'store_true', 'validator': frontend.validate_boolean}),
('Do not validate the document tree. (default)',
['--no-validation'],
- {'action': 'store_false', 'dest': 'validate'}),
+ {'dest': 'validate', 'action': 'store_false'}),
)
)
component_type: Final = 'parser'
Modified: trunk/docutils/docutils/parsers/rst/__init__.py
===================================================================
--- trunk/docutils/docutils/parsers/rst/__init__.py 2026-06-27 17:25:52 UTC (rev 10374)
+++ trunk/docutils/docutils/parsers/rst/__init__.py 2026-06-27 17:26:02 UTC (rev 10375)
@@ -116,7 +116,7 @@
{'action': 'store_true', 'validator': frontend.validate_boolean}),
('Leave spaces before footnote references.',
['--leave-footnote-reference-space'],
- {'action': 'store_false', 'dest': 'trim_footnote_reference_space'}),
+ {'dest': 'trim_footnote_reference_space', 'action': 'store_false'}),
('Token name set for parsing code with Pygments: one of '
'"long", "short", or "none" (no parsing). (default: "long")',
['--syntax-highlight'],
@@ -137,13 +137,13 @@
'Force character-level inline markup recognition with '
'"\\ " (backslash + space). (default)',
['--word-level-inline-markup'],
- {'action': 'store_false', 'dest': 'character_level_inline_markup'}),
+ {'dest': 'character_level_inline_markup', 'action': 'store_false',
+ 'validator': frontend.validate_boolean}),
('Inline markup recognized anywhere, regardless of surrounding '
'characters. Backslash-escapes must be used to avoid unwanted '
'markup recognition. Useful for East Asian languages. ',
['--character-level-inline-markup'],
- {'action': 'store_true', 'default': False,
- 'dest': 'character_level_inline_markup'}),
+ {'action': 'store_true'}),
)
)
Modified: trunk/docutils/docutils/writers/_html_base.py
===================================================================
--- trunk/docutils/docutils/writers/_html_base.py 2026-06-27 17:25:52 UTC (rev 10374)
+++ trunk/docutils/docutils/writers/_html_base.py 2026-06-27 17:26:02 UTC (rev 10375)
@@ -128,8 +128,7 @@
'validator': frontend.validate_math_output}),
('Prepend an XML declaration. ',
['--xml-declaration'],
- {'default': False, 'action': 'store_true',
- 'validator': frontend.validate_boolean}),
+ {'action': 'store_true', 'validator': frontend.validate_boolean}),
('Omit the XML declaration.',
['--no-xml-declaration'],
{'dest': 'xml_declaration', 'action': 'store_false'}),
Modified: trunk/docutils/docutils/writers/docutils_xml.py
===================================================================
--- trunk/docutils/docutils/writers/docutils_xml.py 2026-06-27 17:25:52 UTC (rev 10374)
+++ trunk/docutils/docutils/writers/docutils_xml.py 2026-06-27 17:26:02 UTC (rev 10375)
@@ -39,11 +39,11 @@
{'action': 'store_true', 'validator': frontend.validate_boolean}),
('Omit the XML declaration. Use with caution.',
['--no-xml-declaration'],
- {'dest': 'xml_declaration', 'default': 1, 'action': 'store_false',
+ {'dest': 'xml_declaration', 'default': True, 'action': 'store_false',
'validator': frontend.validate_boolean}),
('Omit the DOCTYPE declaration.',
['--no-doctype'],
- {'dest': 'doctype_declaration', 'default': 1,
+ {'dest': 'doctype_declaration', 'default': True,
'action': 'store_false', 'validator': frontend.validate_boolean}),))
settings_defaults = {'output_encoding_error_handler': 'xmlcharrefreplace'}
Modified: trunk/docutils/docutils/writers/html5_polyglot/__init__.py
===================================================================
--- trunk/docutils/docutils/writers/html5_polyglot/__init__.py 2026-06-27 17:25:52 UTC (rev 10374)
+++ trunk/docutils/docutils/writers/html5_polyglot/__init__.py 2026-06-27 17:26:02 UTC (rev 10375)
@@ -99,7 +99,8 @@
}),
('Append a self-link to section headings. (default)',
['--section-self-link'],
- {'default': True, 'action': 'store_true'}),
+ {'default': True, 'action': 'store_true',
+ 'validator': frontend.validate_boolean}),
('Do not append a self-link to section headings.',
['--no-section-self-link'],
{'dest': 'section_self_link', 'action': 'store_false'}),
Modified: trunk/docutils/docutils/writers/latex2e/__init__.py
===================================================================
--- trunk/docutils/docutils/writers/latex2e/__init__.py 2026-06-27 17:25:52 UTC (rev 10374)
+++ trunk/docutils/docutils/writers/latex2e/__init__.py 2026-06-27 17:26:02 UTC (rev 10375)
@@ -60,13 +60,12 @@
'overrides': 'trim_footnote_reference_space'}),
('Use \\cite command for citations. (default)',
['--use-latex-citations'],
- {'default': True, 'action': 'store_true',
+ {'action': 'store_true', 'default': True,
'validator': frontend.validate_boolean}),
('Use figure floats for citations '
'(might get mixed with real figures).',
['--figure-citations'],
- {'dest': 'use_latex_citations', 'action': 'store_false',
- 'validator': frontend.validate_boolean}),
+ {'dest': 'use_latex_citations', 'action': 'store_false'}),
('Format for block quote attributions: one of "dash" (em-dash '
'prefix), "parentheses"/"parens", or "none". (default: "dash")',
['--attribution'],
@@ -89,19 +88,18 @@
'validator': frontend.validate_comma_separated_list}),
('Link to the stylesheet(s) in the output file. (default)',
['--link-stylesheet'],
- {'dest': 'embed_stylesheet', 'action': 'store_false'}),
+ {'dest': 'embed_stylesheet', 'action': 'store_false',
+ 'validator': frontend.validate_boolean}),
('Embed the stylesheet(s) in the output file. '
'Stylesheets must be accessible during processing. ',
['--embed-stylesheet'],
- {'default': False, 'action': 'store_true',
- 'validator': frontend.validate_boolean}),
+ {'action': 'store_true'}),
('Comma-separated list of directories where stylesheets are found. '
'Used by --stylesheet-path when expanding relative path arguments. '
'(default: ".")',
['--stylesheet-dirs'],
- {'metavar': '<dir[,dir,...]>',
- 'validator': frontend.validate_comma_separated_list,
- 'default': ['.']}),
+ {'metavar': '<dir[,dir,...]>', 'default': ['.'],
+ 'validator': frontend.validate_comma_separated_list}),
('Customization by LaTeX code in the preamble. '
'Default: select PDF standard fonts (Times, Helvetica, Courier).',
['--latex-preamble'],
@@ -111,16 +109,14 @@
{'default': default_template, 'metavar': '<file>'}),
('Table of contents by LaTeX. (default)',
['--use-latex-toc'],
- {'default': True, 'action': 'store_true',
+ {'action': 'store_true', 'default': True,
'validator': frontend.validate_boolean}),
('Table of contents by Docutils (without page numbers).',
['--use-docutils-toc'],
- {'dest': 'use_latex_toc', 'action': 'store_false',
- 'validator': frontend.validate_boolean}),
+ {'dest': 'use_latex_toc', 'action': 'store_false'}),
('Add parts on top of the section hierarchy.',
['--use-part-section'],
- {'default': False, 'action': 'store_true',
- 'validator': frontend.validate_boolean}),
+ {'action': 'store_true', 'validator': frontend.validate_boolean}),
('Attach author and date to the document info table. (default)',
['--use-docutils-docinfo'],
{'dest': 'use_latex_docinfo', 'action': 'store_false',
@@ -127,8 +123,7 @@
'validator': frontend.validate_boolean}),
('Attach author and date to the document title.',
['--use-latex-docinfo'],
- {'default': False, 'action': 'store_true',
- 'validator': frontend.validate_boolean}),
+ {'action': 'store_true'}),
("Typeset abstract as topic. (default)",
['--topic-abstract'],
{'dest': 'use_latex_abstract', 'action': 'store_false',
@@ -135,8 +130,7 @@
'validator': frontend.validate_boolean}),
("Use LaTeX abstract environment for the document's abstract.",
['--use-latex-abstract'],
- {'default': False, 'action': 'store_true',
- 'validator': frontend.validate_boolean}),
+ {'action': 'store_true'}),
('Color of any hyperlinks embedded in text. '
'Default: "blue" (use "false" to disable).',
['--hyperlink-color'],
@@ -147,20 +141,18 @@
('Enable compound enumerators for nested enumerated lists '
'(e.g. "1.2.a.ii").',
['--compound-enumerators'],
- {'default': False, 'action': 'store_true',
- 'validator': frontend.validate_boolean}),
+ {'action': 'store_true', 'validator': frontend.validate_boolean}),
('Disable compound enumerators for nested enumerated lists. '
'(default)',
['--no-compound-enumerators'],
- {'action': 'store_false', 'dest': 'compound_enumerators'}),
+ {'dest': 'compound_enumerators', 'action': 'store_false'}),
('Enable section ("." subsection ...) prefixes for compound '
'enumerators. This has no effect without --compound-enumerators.',
['--section-prefix-for-enumerators'],
- {'default': None, 'action': 'store_true',
- 'validator': frontend.validate_boolean}),
+ {'action': 'store_true', 'validator': frontend.validate_boolean}),
('Disable section prefixes for compound enumerators. (default)',
['--no-section-prefix-for-enumerators'],
- {'action': 'store_false', 'dest': 'section_prefix_for_enumerators'}),
+ {'dest': 'section_prefix_for_enumerators', 'action': 'store_false'}),
('Set the separator between section number and enumerator '
'for compound enumerated lists. (default: "-")',
['--section-enumerator-separator'],
@@ -171,8 +163,7 @@
{'metavar': '<environment>', 'default': ''}),
(frontend.SUPPRESS_HELP, # deprecated legacy option
['--use-verbatim-when-possible'],
- {'action': 'store_true',
- 'validator': frontend.validate_boolean}),
+ {'action': 'store_true', 'validator': frontend.validate_boolean}),
('Table style. "standard" with horizontal and vertical lines, '
'"booktabs" (LaTeX booktabs style) only horizontal lines '
'above and below the table and below the header, or "borderless". '
@@ -205,35 +196,24 @@
('Use legacy functions with class value list for '
'\\DUtitle and \\DUadmonition.',
['--legacy-class-functions'],
- {'default': False,
- 'action': 'store_true',
- 'validator': frontend.validate_boolean}),
+ {'action': 'store_true', 'validator': frontend.validate_boolean}),
('Use \\DUrole and "DUclass" wrappers for class values. '
'Place admonition content in an environment. (default)',
['--new-class-functions'],
- {'dest': 'legacy_class_functions',
- 'action': 'store_false',
- 'validator': frontend.validate_boolean}),
+ {'dest': 'legacy_class_functions', 'action': 'store_false'}),
('Use legacy algorithm to determine table column widths. ',
['--legacy-column-widths'],
- {'default': False,
- 'action': 'store_true',
- 'validator': frontend.validate_boolean}),
+ {'action': 'store_true', 'validator': frontend.validate_boolean}),
('Use new algorithm to determine table column widths. (default)',
['--new-column-widths'],
- {'dest': 'legacy_column_widths',
- 'action': 'store_false',
- 'validator': frontend.validate_boolean}),
+ {'dest': 'legacy_column_widths', 'action': 'store_false'}),
('Footnotes with numbers/symbols by Docutils. (default)',
['--docutils-footnotes'],
- {'dest': 'latex_footnotes',
- 'action': 'store_false',
+ {'dest': 'latex_footnotes', 'action': 'store_false',
'validator': frontend.validate_boolean}),
('Footnotes with numbers by LaTeX.',
['--latex-footnotes'],
- {'action': 'store_true',
- 'default': False,
- 'validator': frontend.validate_boolean}),
+ {'action': 'store_true', 'default': False}),
),
)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|