diff --git a/sphinx/ext/autosummary/__init__.py b/sphinx/ext/autosummary/__init__.py index fc6e50397..c0df15cff 100644 --- a/sphinx/ext/autosummary/__init__.py +++ b/sphinx/ext/autosummary/__init__.py @@ -412,11 +412,10 @@ def process_generate_options(app): from sphinx.ext.autosummary.generate import generate_autosummary_docs ext = app.config.source_suffix - genfiles = [path.join(app.srcdir, genfile + - (not genfile.endswith(ext) and ext or '')) + genfiles = [genfile + (not genfile.endswith(ext) and ext or '') for genfile in genfiles] generate_autosummary_docs(genfiles, warn=app.warn, info=app.info, - suffix=ext) + suffix=ext, base_path=app.srcdir) def setup(app): diff --git a/sphinx/ext/autosummary/generate.py b/sphinx/ext/autosummary/generate.py index 6bed2eb70..35fef3565 100644 --- a/sphinx/ext/autosummary/generate.py +++ b/sphinx/ext/autosummary/generate.py @@ -52,7 +52,7 @@ def _simple_info(msg): print msg def _simple_warn(msg): - print >>sys.stderr, 'WARNING: ' + msg + print >> sys.stderr, 'WARNING: ' + msg # -- Generating output --------------------------------------------------------- @@ -60,10 +60,17 @@ def _simple_warn(msg): env = Environment(loader=PackageLoader('sphinx.ext.autosummary', 'templates')) def generate_autosummary_docs(sources, output_dir=None, suffix='.rst', - warn=_simple_warn, info=_simple_info): - info('generating autosummary for: %s' % ', '.join(sources)) + warn=_simple_warn, info=_simple_info, + base_path=None): + + info('[autosummary] generating autosummary for: %s' % + ', '.join(sorted(sources))) + if output_dir: - info('writing to %s' % output_dir) + info('[autosummary] writing to %s' % output_dir) + + if base_path is not None: + sources = [os.path.join(base_path, filename) for filename in sources] # read names = {} @@ -81,7 +88,7 @@ def generate_autosummary_docs(sources, output_dir=None, suffix='.rst', try: obj, name = import_by_name(name) except ImportError, e: - warn('failed to import %r: %s' % (name, e)) + warn('[autosummary] failed to import %r: %s' % (name, e)) continue fn = os.path.join(path, name + suffix)