def test_project_and_version_and_page_htmldir(self): proj = Project.objects.get(slug='pip') proj.documentation_type = 'sphinx_htmldir' url = core_tags.make_document_url(proj, 'abc', 'xyz') self.assertEqual(url, 'http://readthedocs.org/docs/pip/en/abc/xyz/') url = core_tags.make_document_url(proj, 'abc', 'index') self.assertEqual(url, 'http://readthedocs.org/docs/pip/en/abc/')
def test_translation_project_only_singlehtml(self): proj = Project.objects.get(slug='pip-fr') proj.documentation_type = 'sphinx_singlehtml' url = core_tags.make_document_url(proj) self.assertEqual(url, self.pip_latest_fr_url) url = core_tags.make_document_url(proj, '') self.assertEqual(url, self.pip_latest_fr_url)
def test_project_and_version_htmldir(self): proj = Project.objects.get(slug='pip') proj.documentation_type = 'sphinx_htmldir' url = core_tags.make_document_url(proj, 'abc') self.assertEqual(url, self.pip_abc_url) url = core_tags.make_document_url(proj, 'abc', '') self.assertEqual(url, self.pip_abc_url)
def test_translation_project_and_version_and_page_htmldir(self): proj = Project.objects.get(slug='pip-fr') proj.documentation_type = 'sphinx_htmldir' url = core_tags.make_document_url(proj, 'abc', 'xyz') self.assertEqual(url, '/docs/pip/fr/abc/xyz/') url = core_tags.make_document_url(proj, 'abc', 'index') self.assertEqual(url, '/docs/pip/fr/abc/')
def test_project_and_version_and_page_signlehtml(self): proj = Project.objects.get(slug='pip') proj.documentation_type = 'sphinx_singlehtml' url = core_tags.make_document_url(proj, 'abc', 'xyz') self.assertEqual(url, '/docs/pip/en/abc/index.html#document-xyz') url = core_tags.make_document_url(proj, 'abc', 'index') self.assertEqual(url, '/docs/pip/en/abc/')
def test_translation_project_and_version_htmldir(self): proj = Project.objects.get(slug='pip-fr') proj.documentation_type = 'sphinx_htmldir' url = core_tags.make_document_url(proj, 'abc') self.assertEqual(url, 'http://readthedocs.org/docs/pip/fr/abc/') url = core_tags.make_document_url(proj, 'abc', '') self.assertEqual(url, 'http://readthedocs.org/docs/pip/fr/abc/')
def test_project_only_singlehtml(self): proj = Project.objects.get(slug='pip') proj.documentation_type = 'sphinx_singlehtml' url = core_tags.make_document_url(proj) self.assertEqual(url, '/docs/pip/en/latest/') url = core_tags.make_document_url(proj, '') self.assertEqual(url, '/docs/pip/en/latest/')
def test_translation_project_only_htmldir(self): proj = Project.objects.get(slug='pip-fr') proj.documentation_type = 'sphinx_htmldir' url = core_tags.make_document_url(proj) self.assertEqual(url, '/docs/pip/fr/latest/') url = core_tags.make_document_url(proj, '') self.assertEqual(url, '/docs/pip/fr/latest/')
def test_project_and_version_singlehtml(self): proj = Project.objects.get(slug='pip') proj.documentation_type = 'sphinx_singlehtml' url = core_tags.make_document_url(proj, 'abc') self.assertEqual(url, 'http://readthedocs.org/docs/pip/en/abc/') url = core_tags.make_document_url(proj, 'abc', '') self.assertEqual(url, 'http://readthedocs.org/docs/pip/en/abc/')
def test_translation_project_only_singlehtml(self): proj = Project.objects.get(slug='pip-fr') proj.documentation_type = 'sphinx_singlehtml' url = core_tags.make_document_url(proj) self.assertEqual(url, 'http://readthedocs.org/docs/pip/fr/latest/') url = core_tags.make_document_url(proj, '') self.assertEqual(url, 'http://readthedocs.org/docs/pip/fr/latest/')
def test_project_only_htmldir(self): proj = Project.objects.get(slug='pip') proj.documentation_type = 'sphinx_htmldir' url = core_tags.make_document_url(proj) self.assertEqual(url, 'http://readthedocs.org/docs/pip/en/latest/') url = core_tags.make_document_url(proj, '') self.assertEqual(url, 'http://readthedocs.org/docs/pip/en/latest/')
def test_translation_project_and_version_singlehtml(self): proj = Project.objects.get(slug='pip-fr') proj.documentation_type = 'sphinx_singlehtml' url = core_tags.make_document_url(proj, 'abc') self.assertEqual(url, '/docs/pip/fr/abc/') url = core_tags.make_document_url(proj, 'abc', '') self.assertEqual(url, '/docs/pip/fr/abc/')
def test_translation_project_and_version_and_page_singlehtml(self): proj = Project.objects.get(slug='pip-fr') proj.documentation_type = 'sphinx_singlehtml' url = core_tags.make_document_url(proj, 'abc', 'xyz') self.assertEqual(url, 'http://readthedocs.org/docs/pip/fr/abc/index.html#document-xyz') url = core_tags.make_document_url(proj, 'abc', 'index') self.assertEqual(url, 'http://readthedocs.org/docs/pip/fr/abc/')
def test_translation_project_and_version_and_page_singlehtml(self): proj = Project.objects.get(slug='pip-fr') proj.documentation_type = 'sphinx_singlehtml' url = core_tags.make_document_url(proj, 'abc', 'xyz') self.assertEqual(url, self.pip_abc_xyz_fr_document) url = core_tags.make_document_url(proj, 'abc', 'index') self.assertEqual(url, self.pip_abc_fr_url)
def docurl(request): """ Get the url that a slug resolves to. Example:: GET https://readthedocs.org/api/v2/docurl/?project=requests&version=latest&doc=index """ project = request.GET.get('project') version = request.GET.get('version', LATEST) doc = request.GET.get('doc', 'index') if project is None: return Response( {'error': 'Need project and doc'}, status=status.HTTP_400_BAD_REQUEST, ) project = get_object_or_404(Project, slug=project) version = get_object_or_404( Version.objects .public(request.user, project=project, only_active=False), slug=version, ) return Response({ 'url': make_document_url( project=project, version=version.slug, page=doc, ), })
def docurl(request): """ Get the url that a slug resolves to. Example:: GET https://readthedocs.org/api/v2/docurl/?project=requests&version=latest&doc=index """ project = request.GET.get('project') version = request.GET.get('version', LATEST) doc = request.GET.get('doc', 'index') project = get_object_or_404(Project, slug=project) version = get_object_or_404( Version.objects.public(request.user, project=project, only_active=False), slug=version) return Response({ 'url': make_document_url(project=project, version=version.slug, page=doc) })
def test_project_and_version_and_page(self): proj = Project.objects.get(slug='pip') url = core_tags.make_document_url(proj, 'abc', 'xyz') self.assertEqual(url, self.pip_abc_xyz_page_url) url = core_tags.make_document_url(proj, 'abc', 'index.html') self.assertEqual(url, self.pip_abc_url_index)
def test_project_and_version(self): proj = Project.objects.get(slug='pip') url = core_tags.make_document_url(proj, 'abc') self.assertEqual(url, 'http://readthedocs.org/docs/pip/en/abc/') url = core_tags.make_document_url(proj, 'abc', '') self.assertEqual(url, 'http://readthedocs.org/docs/pip/en/abc/')
def test_mkdocs_no_directory_urls(self): proj = Project.objects.get(slug='pip') proj.documentation_type = 'mkdocs' url = core_tags.make_document_url(proj, LATEST, 'document.html') self.assertEqual(url, '/docs/pip/en/latest/document.html')
def test_mkdocs_index(self): proj = Project.objects.get(slug='pip') proj.documentation_type = 'mkdocs' url = core_tags.make_document_url(proj, LATEST, 'index') self.assertEqual(url, '/docs/pip/en/latest/')
def test_mkdocs_index_no_directory_urls(self): proj = Project.objects.get(slug='pip') proj.documentation_type = 'mkdocs' url = core_tags.make_document_url(proj, LATEST, 'index.html') self.assertEqual(url, self.pip_latest_url_index)
def test_project_only(self): proj = Project.objects.get(slug='pip') url = core_tags.make_document_url(proj) self.assertEqual(url, '/docs/pip/en/latest/') url = core_tags.make_document_url(proj, '') self.assertEqual(url, '/docs/pip/en/latest/')
def test_project_and_version_and_page(self): proj = Project.objects.get(slug='pip') url = core_tags.make_document_url(proj, 'abc', 'xyz') self.assertEqual(url, '/docs/pip/en/abc/xyz.html') url = core_tags.make_document_url(proj, 'abc', 'index') self.assertEqual(url, '/docs/pip/en/abc/')
def test_translation_project_and_version_and_page(self): proj = Project.objects.get(slug='pip-fr') url = core_tags.make_document_url(proj, 'abc', 'xyz') self.assertEqual(url, self.pip_abc_xyz_fr_page_url) url = core_tags.make_document_url(proj, 'abc', 'index') self.assertEqual(url, self.pip_abc_fr_url)
def test_project_and_version_and_page(self): proj = Project.objects.get(slug='pip') url = core_tags.make_document_url(proj, 'abc', 'xyz') self.assertEqual(url, self.pip_abc_xyz_page_url) url = core_tags.make_document_url(proj, 'abc', 'index') self.assertEqual(url, self.pip_abc_url)
def test_translation_project_and_version(self): proj = Project.objects.get(slug='pip-fr') url = core_tags.make_document_url(proj, 'abc') self.assertEqual(url, 'http://readthedocs.org/docs/pip/fr/abc/') url = core_tags.make_document_url(proj, 'abc', '') self.assertEqual(url, 'http://readthedocs.org/docs/pip/fr/abc/')
def test_translation_project_only(self): proj = Project.objects.get(slug='pip-fr') url = core_tags.make_document_url(proj) self.assertEqual(url, self.pip_latest_fr_url) url = core_tags.make_document_url(proj, '') self.assertEqual(url, self.pip_latest_fr_url)
def test_mkdocs(self): proj = Project.objects.get(slug='pip') proj.documentation_type = 'mkdocs' url = core_tags.make_document_url(proj, LATEST, 'document') self.assertEqual(url, self.pip_latest_document_url)
def test_translation_project_and_version(self): proj = Project.objects.get(slug='pip-fr') url = core_tags.make_document_url(proj, 'abc') self.assertEqual(url, '/docs/pip/fr/abc/') url = core_tags.make_document_url(proj, 'abc', '') self.assertEqual(url, '/docs/pip/fr/abc/')
def test_project_only(self): proj = Project.objects.get(slug='pip') url = core_tags.make_document_url(proj) self.assertEqual(url, 'http://readthedocs.org/docs/pip/en/latest/') url = core_tags.make_document_url(proj, '') self.assertEqual(url, 'http://readthedocs.org/docs/pip/en/latest/')
def test_mkdocs_index_no_directory_urls(self): proj = Project.objects.get(slug='pip') proj.documentation_type = 'mkdocs' url = core_tags.make_document_url(proj, LATEST, 'index.html') self.assertEqual(url, 'http://readthedocs.org/docs/pip/en/latest/')
def test_project_and_version(self): proj = Project.objects.get(slug='pip') url = core_tags.make_document_url(proj, 'abc') self.assertEqual(url, self.pip_abc_url) url = core_tags.make_document_url(proj, 'abc', '') self.assertEqual(url, self.pip_abc_url)
def test_mkdocs_index_no_directory_urls(self): proj = Project.objects.get(slug='pip') proj.documentation_type = 'mkdocs' url = core_tags.make_document_url(proj, LATEST, 'index.html') self.assertEqual(url, self.pip_latest_url)
def test_project_and_version_and_page(self): proj = Project.objects.get(slug='pip') url = core_tags.make_document_url(proj, 'abc', 'xyz') self.assertEqual(url, 'http://readthedocs.org/docs/pip/en/abc/xyz.html') url = core_tags.make_document_url(proj, 'abc', 'index') self.assertEqual(url, 'http://readthedocs.org/docs/pip/en/abc/')
def test_translation_project_and_version(self): proj = Project.objects.get(slug='pip-fr') url = core_tags.make_document_url(proj, 'abc') self.assertEqual(url, self.pip_abc_fr_url) url = core_tags.make_document_url(proj, 'abc', '') self.assertEqual(url, self.pip_abc_fr_url)
def test_translation_project_and_version_and_page(self): proj = Project.objects.get(slug='pip-fr') url = core_tags.make_document_url(proj, 'abc', 'xyz') self.assertEqual(url, 'http://readthedocs.org/docs/pip/fr/abc/xyz.html') url = core_tags.make_document_url(proj, 'abc', 'index') self.assertEqual(url, 'http://readthedocs.org/docs/pip/fr/abc/')
def test_translation_project_and_version_and_page(self): proj = Project.objects.get(slug='pip-fr') url = core_tags.make_document_url(proj, 'abc', 'xyz') self.assertEqual(url, self.pip_abc_xyz_fr_page_url) url = core_tags.make_document_url(proj, 'abc', 'index.html') self.assertEqual(url, self.pip_abc_fr_url_index)
def test_mkdocs_no_directory_urls(self): proj = Project.objects.get(slug='pip') url = core_tags.make_document_url(proj, LATEST, 'document', 'document.html') self.assertEqual(url, self.pip_latest_document_page_url)