1import os 2import sys 3 4source_dir = os.path.abspath('.') 5if source_dir not in sys.path: 6 sys.path.insert(0, source_dir) 7extensions = ['sphinx.ext.autodoc', 'sphinx.ext.viewcode'] 8exclude_patterns = ['_build'] 9 10 11if 'test_linkcode' in tags: # NOQA 12 extensions.remove('sphinx.ext.viewcode') 13 extensions.append('sphinx.ext.linkcode') 14 15 def linkcode_resolve(domain, info): 16 if domain == 'py': 17 fn = info['module'].replace('.', '/') 18 return "http://foobar/source/%s.py" % fn 19 elif domain == "js": 20 return "http://foobar/js/" + info['fullname'] 21 elif domain in ("c", "cpp"): 22 return "http://foobar/%s/%s" % (domain, "".join(info['names'])) 23 else: 24 raise AssertionError() 25