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