summaryrefslogtreecommitdiff
path: root/sphinx/ext/viewcode.py
diff options
context:
space:
mode:
Diffstat (limited to 'sphinx/ext/viewcode.py')
-rw-r--r--sphinx/ext/viewcode.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/sphinx/ext/viewcode.py b/sphinx/ext/viewcode.py
index 81881beb..b9bb9d77 100644
--- a/sphinx/ext/viewcode.py
+++ b/sphinx/ext/viewcode.py
@@ -31,7 +31,11 @@ def doctree_read(app, doctree):
env._viewcode_modules[modname] = False
return
analyzer.find_tags()
- entry = analyzer.code.decode(analyzer.encoding), analyzer.tags, {}
+ if not isinstance(analyzer.code, unicode):
+ code = analyzer.code.decode(analyzer.encoding)
+ else:
+ code = analyzer.code
+ entry = code, analyzer.tags, {}
env._viewcode_modules[modname] = entry
elif entry is False:
return
@@ -47,7 +51,7 @@ def doctree_read(app, doctree):
for signode in objnode:
if not isinstance(signode, addnodes.desc_signature):
continue
- modname = signode['module']
+ modname = signode.get('module')
if not modname:
continue
fullname = signode['fullname']