summaryrefslogtreecommitdiff
path: root/sphinx
diff options
context:
space:
mode:
authorshimizukawa <shimizukawa@gmail.com>2012-10-30 10:04:18 +0900
committershimizukawa <shimizukawa@gmail.com>2012-10-30 10:04:18 +0900
commitfbd51cc94c7e602727f9b3ea010cf2fba9e425ff (patch)
tree81ac3e67ed2874ac03b465db1fab06cec22cd461 /sphinx
parent2a72daa970001fbb71351a3d2e7de744125351b9 (diff)
downloadsphinx-fbd51cc94c7e602727f9b3ea010cf2fba9e425ff.tar.gz
fix #1008: can't get correct source code filename because all modules have '__loader__' attribute at Python-3.3.
Diffstat (limited to 'sphinx')
-rw-r--r--sphinx/util/__init__.py12
1 files changed, 6 insertions, 6 deletions
diff --git a/sphinx/util/__init__.py b/sphinx/util/__init__.py
index 6cb83aec..7dce7012 100644
--- a/sphinx/util/__init__.py
+++ b/sphinx/util/__init__.py
@@ -197,14 +197,14 @@ def get_module_source(modname):
except Exception, err:
raise PycodeError('error importing %r' % modname, err)
mod = sys.modules[modname]
- if hasattr(mod, '__loader__'):
- try:
- source = mod.__loader__.get_source(modname)
- except Exception, err:
- raise PycodeError('error getting source for %r' % modname, err)
- return 'string', source
filename = getattr(mod, '__file__', None)
if filename is None:
+ if hasattr(mod, '__loader__'):
+ try:
+ source = mod.__loader__.get_source(modname)
+ except Exception, err:
+ raise PycodeError('error getting source for %r' % modname, err)
+ return 'string', source
raise PycodeError('no source found for module %r' % modname)
filename = path.normpath(path.abspath(filename))
lfilename = filename.lower()