Source code for pymialsrtk.sphinxext.gh

"""Build a file URL."""
import os
import inspect
import subprocess

REVISION_CMD = "git rev-parse --short HEAD"


def _get_git_revision():
    # Comes from scikit-learn
    # https://github.com/scikit-learn/scikit-learn/blob/master/doc/sphinxext/github_link.py
    try:
        revision = subprocess.check_output(REVISION_CMD.split()).strip()
    except (subprocess.CalledProcessError, OSError):
        return None
    return revision.decode("utf-8")


[docs]def get_url(obj): """Return local or remote url for an object.""" # Comes from Nipype # https://github.com/nipy/nipype/blob/master/nipype/sphinxext/gh.py # URL was updated to http://github.com/Medical-Image-Analysis-Laboratory/mialsuperresolutiontoolkit filename = inspect.getsourcefile(obj) uri = "file://%s" % filename revision = _get_git_revision() if revision is not None: shortfile = os.path.join("pymialsrtk", filename.split("pymialsrtk/")[-1]) uri = "http://github.com/Medical-Image-Analysis-Laboratory/mialsuperresolutiontoolkit/blob/%s/%s" % (revision, shortfile) lines, lstart = inspect.getsourcelines(obj) lend = len(lines) + lstart return "%s#L%d-L%d" % (uri, lstart, lend)