Extend extension info to the module filename for each loaded ext.

This commit is contained in:
Georg Brandl
2013-10-02 09:32:43 +02:00
parent df955e6340
commit 2166403a03

View File

@@ -177,7 +177,7 @@ _DEBUG_HEADER = '''\
# Python version: %s # Python version: %s
# Docutils version: %s %s # Docutils version: %s %s
# Jinja2 version: %s # Jinja2 version: %s
# Loaded extensions: %s # Loaded extensions:
''' '''
def save_traceback(app): def save_traceback(app):
@@ -185,16 +185,16 @@ def save_traceback(app):
import platform import platform
exc = traceback.format_exc() exc = traceback.format_exc()
fd, path = tempfile.mkstemp('.log', 'sphinx-err-') fd, path = tempfile.mkstemp('.log', 'sphinx-err-')
if app is not None:
extension_list = ', '.join(app._extensions)
else:
extension_list = '(app not created)'
os.write(fd, (_DEBUG_HEADER % os.write(fd, (_DEBUG_HEADER %
(sphinx.__version__, (sphinx.__version__,
platform.python_version(), platform.python_version(),
docutils.__version__, docutils.__version_details__, docutils.__version__, docutils.__version_details__,
jinja2.__version__, jinja2.__version__)).encode('utf-8'))
extension_list)).encode('utf-8')) if app is not None:
for extname, extmod in app._extensions.iteritems():
os.write(fd, ('# %s from %s\n' % (
extname, getattr(extmod, '__file__', 'unknown'))
).encode('utf-8'))
os.write(fd, exc.encode('utf-8')) os.write(fd, exc.encode('utf-8'))
os.close(fd) os.close(fd)
return path return path