Example #1
0
def test_ModuleAnalyzer_get_module_source():
    assert ModuleAnalyzer.get_module_source('sphinx') == (sphinx.__file__, sphinx.__loader__.get_source('sphinx'))

    # failed to obtain source information from builtin modules
    with pytest.raises(PycodeError):
        ModuleAnalyzer.get_module_source('builtins')
    with pytest.raises(PycodeError):
        ModuleAnalyzer.get_module_source('itertools')
Example #2
0
def get_module_filename(app: Sphinx, modname: str) -> Optional[str]:
    """Get module filename for *modname*."""
    source_info = app.emit_firstresult('viewcode-find-source', modname)
    if source_info:
        return None
    else:
        try:
            filename, source = ModuleAnalyzer.get_module_source(modname)
            return filename
        except Exception:
            return None