From 667e41f68bba82989ff9e1aa58e6965c70da062d Mon Sep 17 00:00:00 2001 From: Adam Turner <9087854+aa-turner@users.noreply.github.com> Date: Mon, 24 Apr 2023 08:18:06 +0100 Subject: [PATCH 1/2] Remove io.read_doc --- sphinx/io.py | 38 +------------------------------------- 1 file changed, 1 insertion(+), 37 deletions(-) diff --git a/sphinx/io.py b/sphinx/io.py index f2a0369adcb..335502e57ba 100644 --- a/sphinx/io.py +++ b/sphinx/io.py @@ -1,8 +1,6 @@ """Input/Output files""" from __future__ import annotations -import codecs -import warnings from typing import TYPE_CHECKING, Any import docutils @@ -11,14 +9,12 @@ from docutils.frontend import Values from docutils.io import FileInput, Input, NullOutput from docutils.parsers import Parser -from docutils.parsers.rst import Parser as RSTParser from docutils.readers import standalone from docutils.transforms import Transform from docutils.transforms.references import DanglingReferences from docutils.writers import UnfilteredWriter from sphinx import addnodes -from sphinx.deprecation import RemovedInSphinx70Warning from sphinx.environment import BuildEnvironment from sphinx.transforms import AutoIndexUpgrader, DoctreeReadEvent, SphinxTransformer from sphinx.transforms.i18n import ( @@ -27,7 +23,7 @@ RemoveTranslatableInline, ) from sphinx.transforms.references import SphinxDomains -from sphinx.util import UnicodeDecodeErrorHandler, get_filetype, logging +from sphinx.util import logging from sphinx.util.docutils import LoggingReporter from sphinx.versioning import UIDTransform @@ -160,38 +156,6 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -def read_doc(app: Sphinx, env: BuildEnvironment, filename: str) -> nodes.document: - """Parse a document and convert to doctree.""" - warnings.warn('sphinx.io.read_doc() is deprecated.', - RemovedInSphinx70Warning, stacklevel=2) - - # set up error_handler for the target document - error_handler = UnicodeDecodeErrorHandler(env.docname) - codecs.register_error('sphinx', error_handler) # type: ignore - - reader = SphinxStandaloneReader() - reader.setup(app) - filetype = get_filetype(app.config.source_suffix, filename) - parser = app.registry.create_source_parser(app, filetype) - if parser.__class__.__name__ == 'CommonMarkParser' and parser.settings_spec == (): - # a workaround for recommonmark - # If recommonmark.AutoStrictify is enabled, the parser invokes reST parser - # internally. But recommonmark-0.4.0 does not provide settings_spec for reST - # parser. As a workaround, this copies settings_spec for RSTParser to the - # CommonMarkParser. - parser.settings_spec = RSTParser.settings_spec - - pub = Publisher(reader=reader, - parser=parser, - writer=SphinxDummyWriter(), - source_class=SphinxFileInput, - destination=NullOutput()) - pub.process_programmatic_settings(None, env.settings, None) # type: ignore[arg-type] - pub.set_source(source_path=filename) - pub.publish() - return pub.document - - def create_publisher(app: Sphinx, filetype: str) -> Publisher: reader = SphinxStandaloneReader() reader.setup(app) From 4e41e4fc4ec6f090ab4242be506f00b635a29d1f Mon Sep 17 00:00:00 2001 From: Adam Turner <9087854+aa-turner@users.noreply.github.com> Date: Thu, 27 Apr 2023 15:45:21 +0100 Subject: [PATCH 2/2] CHANGES --- CHANGES | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGES b/CHANGES index 7bd8f725081..ed9ac8ddc18 100644 --- a/CHANGES +++ b/CHANGES @@ -19,6 +19,7 @@ Incompatible changes ``sphinx.util.i18n.format_date()``. * #11370: Remove deprecated ``sphinx.util.stemmer`` module. * #11371: Remove deprecated ``sphinx.pycode.ast.parse()`` function. +* #11372: Remove deprecated ``sphinx.io.read_doc()`` function. Deprecated ----------