From bb51a2074578b1c86795aec917305d061c6387b8 Mon Sep 17 00:00:00 2001 From: Pauli Virtanen Date: Wed, 29 Jun 2011 21:27:23 +0200 Subject: [PATCH] autosummary: respect py:currentclass when looking up Python objects This makes autosummary directives inside classes to work properly. --- sphinx/ext/autosummary/__init__.py | 10 +++++++++- tests/root/autosummary.txt | 24 ++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/sphinx/ext/autosummary/__init__.py b/sphinx/ext/autosummary/__init__.py index 515777b82..b29470fbb 100644 --- a/sphinx/ext/autosummary/__init__.py +++ b/sphinx/ext/autosummary/__init__.py @@ -171,7 +171,7 @@ class Autosummary(Directive): """ Pretty table containing short signatures and summaries of functions etc. - autosummary also generates a (hidden) toctree:: node. + autosummary can also optionally generate a hidden toctree:: node. """ required_arguments = 0 @@ -232,10 +232,18 @@ class Autosummary(Directive): env = self.state.document.settings.env prefixes = [''] + currmodule = env.temp_data.get('py:module') if currmodule: prefixes.insert(0, currmodule) + currclass = env.temp_data.get('py:class') + if currclass: + if currmodule: + prefixes.insert(0, currmodule + "." + currclass) + else: + prefixes.insert(0, currclass) + items = [] max_item_chars = 50 diff --git a/tests/root/autosummary.txt b/tests/root/autosummary.txt index edf75e326..82cec7fd0 100644 --- a/tests/root/autosummary.txt +++ b/tests/root/autosummary.txt @@ -5,3 +5,27 @@ Autosummary test :toctree: generated sphinx.application.TemplateBridge + +.. currentmodule:: sphinx.application + +.. autoclass:: TemplateBridge + + Basic test + + .. autosummary:: + + render -- some ignored stuff goes here + render_string More ignored stuff + + Test with tildes + + .. autosummary:: + + ~TemplateBridge.render + ~TemplateBridge.render_string + + Methods: + + .. automethod:: render + + .. automethod:: render_string