diff options
Diffstat (limited to '.venv/lib/python3.12/site-packages/docutils/parsers/commonmark_wrapper.py')
-rw-r--r-- | .venv/lib/python3.12/site-packages/docutils/parsers/commonmark_wrapper.py | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/docutils/parsers/commonmark_wrapper.py b/.venv/lib/python3.12/site-packages/docutils/parsers/commonmark_wrapper.py new file mode 100644 index 00000000..ea538a6b --- /dev/null +++ b/.venv/lib/python3.12/site-packages/docutils/parsers/commonmark_wrapper.py @@ -0,0 +1,56 @@ +#! /usr/bin/env python3 +# :Copyright: © 2022 Günter Milde. +# :License: Released under the terms of the `2-Clause BSD license`_, in short: +# +# Copying and distribution of this file, with or without modification, +# are permitted in any medium without royalty provided the copyright +# notice and this notice are preserved. +# This file is offered as-is, without any warranty. +# +# .. _2-Clause BSD license: https://opensource.org/licenses/BSD-2-Clause +# +# Revision: $Revision: 9561 $ +# Date: $Date: 2024-03-14 17:34:48 +0100 (Do, 14. Mär 2024) $ +""" +An interface for parsing CommonMark input. + +Select a locally installed parser from the following 3rd-party +parser packages: + +:pycmark: https://pypi.org/project/pycmark/ +:myst: https://pypi.org/project/myst-docutils/ +:recommonmark: https://pypi.org/project/recommonmark/ (deprecated) + +The first parser class that can be successfully imported is mapped to +`commonmark_wrapper.Parser`. + +This module is provisional: +the API is not settled and may change with any minor Docutils version. +""" + +import docutils.parsers + + +commonmark_parser_names = ('pycmark', 'myst', 'recommonmark') +"""Names of compatible drop-in CommonMark parsers""" + +Parser = None +parser_name = '' + +for name in commonmark_parser_names: + try: + Parser = docutils.parsers.get_parser_class(name) + except ImportError: + continue + parser_name = name + break + +if Parser is None: + raise ImportError( + 'Parsing "CommonMark" requires one of the packages\n' + f'{commonmark_parser_names} available at https://pypi.org') + +if parser_name == 'myst': + if not Parser.settings_defaults: + Parser.settings_defaults = {} + Parser.settings_defaults['myst_commonmark_only'] = True |