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)
예제 #4
0
 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/')
예제 #5
0
 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/')
예제 #7
0
 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/')
예제 #8
0
 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/')
예제 #12
0
 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)
예제 #15
0
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,
        ),
    })
예제 #16
0
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)
    })
예제 #17
0
 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/')
예제 #19
0
 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')
예제 #20
0
 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/')
예제 #21
0
 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)
예제 #22
0
 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/')
예제 #23
0
 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)
예제 #25
0
 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)
예제 #26
0
 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)
예제 #29
0
 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)
예제 #30
0
 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/')
예제 #31
0
 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/')
예제 #33
0
 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)
예제 #35
0
 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_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)
예제 #37
0
 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/')
예제 #38
0
 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/')
예제 #40
0
 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)
예제 #41
0
 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)