Pass docroot to badge endpoint.
parent
5f8b6aba6a
commit
33713eed68
|
@ -10,11 +10,12 @@ $(document).ready(function () {
|
||||||
},
|
},
|
||||||
dataType: "jsonp",
|
dataType: "jsonp",
|
||||||
data: {
|
data: {
|
||||||
"format": "jsonp",
|
|
||||||
project: READTHEDOCS_DATA['project'],
|
project: READTHEDOCS_DATA['project'],
|
||||||
version: READTHEDOCS_DATA['version'],
|
version: READTHEDOCS_DATA['version'],
|
||||||
page: READTHEDOCS_DATA['page'],
|
page: READTHEDOCS_DATA['page'],
|
||||||
theme: READTHEDOCS_DATA['theme'],
|
theme: READTHEDOCS_DATA['theme'],
|
||||||
|
docroot: READTHEDOCS_DATA['docroot']
|
||||||
|
format: "jsonp",
|
||||||
},
|
},
|
||||||
success: function (data) {
|
success: function (data) {
|
||||||
if (READTHEDOCS_DATA['theme'] != "sphinx_rtd_theme") {
|
if (READTHEDOCS_DATA['theme'] != "sphinx_rtd_theme") {
|
||||||
|
|
|
@ -188,7 +188,7 @@ class Version(models.Model):
|
||||||
return conf_py_path.replace('conf.py', '')
|
return conf_py_path.replace('conf.py', '')
|
||||||
|
|
||||||
|
|
||||||
def get_github_url(self, filename):
|
def get_github_url(self, docroot, filename):
|
||||||
GITHUB_REGEXS = [
|
GITHUB_REGEXS = [
|
||||||
re.compile('github.com/(.+)/(.+)(?:\.git){1}'),
|
re.compile('github.com/(.+)/(.+)(?:\.git){1}'),
|
||||||
re.compile('github.com/(.+)/(.+)'),
|
re.compile('github.com/(.+)/(.+)'),
|
||||||
|
@ -199,6 +199,8 @@ class Version(models.Model):
|
||||||
repo_url = self.project.repo
|
repo_url = self.project.repo
|
||||||
if 'github' not in repo_url:
|
if 'github' not in repo_url:
|
||||||
return ''
|
return ''
|
||||||
|
if not docroot:
|
||||||
|
return ''
|
||||||
|
|
||||||
for regex in GITHUB_REGEXS:
|
for regex in GITHUB_REGEXS:
|
||||||
match = regex.search(repo_url)
|
match = regex.search(repo_url)
|
||||||
|
@ -207,7 +209,6 @@ class Version(models.Model):
|
||||||
break
|
break
|
||||||
else:
|
else:
|
||||||
return ''
|
return ''
|
||||||
docroot = self.get_conf_py_path()
|
|
||||||
repo = repo.rstrip('/')
|
repo = repo.rstrip('/')
|
||||||
|
|
||||||
return GITHUB_URL.format(
|
return GITHUB_URL.format(
|
||||||
|
@ -218,7 +219,7 @@ class Version(models.Model):
|
||||||
path=filename,
|
path=filename,
|
||||||
)
|
)
|
||||||
|
|
||||||
def get_bitbucket_url(self, filename):
|
def get_bitbucket_url(self, docroot, filename):
|
||||||
BB_REGEXS = [
|
BB_REGEXS = [
|
||||||
re.compile('bitbucket.org/(.+)/(.+).git'),
|
re.compile('bitbucket.org/(.+)/(.+).git'),
|
||||||
re.compile('bitbucket.org/(.+)/(.+)/'),
|
re.compile('bitbucket.org/(.+)/(.+)/'),
|
||||||
|
@ -229,6 +230,8 @@ class Version(models.Model):
|
||||||
repo_url = self.project.repo
|
repo_url = self.project.repo
|
||||||
if 'bitbucket' not in repo_url:
|
if 'bitbucket' not in repo_url:
|
||||||
return ''
|
return ''
|
||||||
|
if not docroot:
|
||||||
|
return ''
|
||||||
|
|
||||||
for regex in BB_REGEXS:
|
for regex in BB_REGEXS:
|
||||||
match = regex.search(repo_url)
|
match = regex.search(repo_url)
|
||||||
|
@ -237,7 +240,6 @@ class Version(models.Model):
|
||||||
break
|
break
|
||||||
else:
|
else:
|
||||||
return ''
|
return ''
|
||||||
docroot = self.get_conf_py_path()
|
|
||||||
repo = repo.rstrip('/')
|
repo = repo.rstrip('/')
|
||||||
|
|
||||||
return BB_URL.format(
|
return BB_URL.format(
|
||||||
|
|
|
@ -197,6 +197,7 @@ def footer_html(request):
|
||||||
version_slug = request.GET.get('version', None)
|
version_slug = request.GET.get('version', None)
|
||||||
page_slug = request.GET.get('page', None)
|
page_slug = request.GET.get('page', None)
|
||||||
theme = request.GET.get('theme', False)
|
theme = request.GET.get('theme', False)
|
||||||
|
docroot = request.GET.get('docroot', '')
|
||||||
new_theme = (theme == "sphinx_rtd_theme")
|
new_theme = (theme == "sphinx_rtd_theme")
|
||||||
using_theme = (theme == "default")
|
using_theme = (theme == "default")
|
||||||
project = get_object_or_404(Project, slug=project_slug)
|
project = get_object_or_404(Project, slug=project_slug)
|
||||||
|
@ -209,8 +210,8 @@ def footer_html(request):
|
||||||
'using_theme': using_theme,
|
'using_theme': using_theme,
|
||||||
'new_theme': new_theme,
|
'new_theme': new_theme,
|
||||||
'settings': settings,
|
'settings': settings,
|
||||||
'github_url': version.get_github_url(page_slug),
|
'github_url': version.get_github_url(docroot, page_slug),
|
||||||
'bitbucket_url': version.get_bitbucket_url(page_slug),
|
'bitbucket_url': version.get_bitbucket_url(docroot, page_slug),
|
||||||
})
|
})
|
||||||
html = Template(TEMPLATE).render(context)
|
html = Template(TEMPLATE).render(context)
|
||||||
return Response({"html": html})
|
return Response({"html": html})
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
version: "{{ current_version }}",
|
version: "{{ current_version }}",
|
||||||
page: "{{ pagename }}",
|
page: "{{ pagename }}",
|
||||||
theme: "{{ html_theme }}"
|
theme: "{{ html_theme }}"
|
||||||
|
docroot: "{{ conf_py_path }}",
|
||||||
}
|
}
|
||||||
// Old variables
|
// Old variables
|
||||||
var doc_version = "{{ current_version }}";
|
var doc_version = "{{ current_version }}";
|
||||||
|
|
Loading…
Reference in New Issue