summaryrefslogtreecommitdiff
path: root/sphinx/ext/autosummary/generate.py
diff options
context:
space:
mode:
Diffstat (limited to 'sphinx/ext/autosummary/generate.py')
-rw-r--r--sphinx/ext/autosummary/generate.py27
1 files changed, 23 insertions, 4 deletions
diff --git a/sphinx/ext/autosummary/generate.py b/sphinx/ext/autosummary/generate.py
index ba1ec219a..4a699dd9f 100644
--- a/sphinx/ext/autosummary/generate.py
+++ b/sphinx/ext/autosummary/generate.py
@@ -23,6 +23,7 @@ import os
import pydoc
import re
import sys
+import warnings
from jinja2 import BaseLoader, FileSystemLoader, TemplateNotFound
from jinja2.sandbox import SandboxedEnvironment
@@ -30,10 +31,12 @@ from jinja2.sandbox import SandboxedEnvironment
import sphinx.locale
from sphinx import __display_version__
from sphinx import package_dir
+from sphinx.deprecation import RemovedInSphinx40Warning
from sphinx.ext.autosummary import import_by_name, get_documenter
from sphinx.jinja2glue import BuiltinTemplateLoader
from sphinx.locale import __
from sphinx.registry import SphinxComponentRegistry
+from sphinx.util import logging
from sphinx.util import rst
from sphinx.util.inspect import safe_getattr
from sphinx.util.osutil import ensuredir
@@ -45,12 +48,17 @@ if False:
from sphinx.ext.autodoc import Documenter # NOQA
+logger = logging.getLogger(__name__)
+
+
class DummyApplication:
"""Dummy Application class for sphinx-autogen command."""
def __init__(self):
# type: () -> None
self.registry = SphinxComponentRegistry()
+ self.messagelog = [] # type: List[str]
+ self.verbosity = 0
def setup_documenters(app):
@@ -127,10 +135,20 @@ class AutosummaryRenderer:
# -- Generating output ---------------------------------------------------------
def generate_autosummary_docs(sources, output_dir=None, suffix='.rst',
- warn=_simple_warn, info=_simple_info,
- base_path=None, builder=None, template_dir=None,
- imported_members=False, app=None):
+ warn=None, info=None, base_path=None, builder=None,
+ template_dir=None, imported_members=False, app=None):
# type: (List[str], str, str, Callable, Callable, str, Builder, str, bool, Any) -> None
+ if info:
+ warnings.warn('info argument for generate_autosummary_docs() is deprecated.',
+ RemovedInSphinx40Warning)
+ else:
+ info = logger.info
+
+ if warn:
+ warnings.warn('warn argument for generate_autosummary_docs() is deprecated.',
+ RemovedInSphinx40Warning)
+ else:
+ warn = logger.warning
showed_sources = list(sorted(sources))
if len(showed_sources) > 20:
@@ -221,7 +239,7 @@ def generate_autosummary_docs(sources, output_dir=None, suffix='.rst',
get_members(obj, {'attribute', 'property'})
parts = name.split('.')
- if doc.objtype in ('method', 'attribute'):
+ if doc.objtype in ('method', 'attribute', 'property'):
mod_name = '.'.join(parts[:-2])
cls_name = parts[-2]
obj_name = '.'.join(parts[-2:])
@@ -420,6 +438,7 @@ def main(argv=sys.argv[1:]):
sphinx.locale.init_console(os.path.join(package_dir, 'locale'), 'sphinx')
app = DummyApplication()
+ logging.setup(app, sys.stdout, sys.stderr) # type: ignore
setup_documenters(app)
args = get_parser().parse_args(argv)
generate_autosummary_docs(args.source_file, args.output_dir,