• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python resolver.resolve_path函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中readthedocs.core.resolver.resolve_path函数的典型用法代码示例。如果您正苦于以下问题:Python resolve_path函数的具体用法?Python resolve_path怎么用?Python resolve_path使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了resolve_path函数的19个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: test_resolver_translation

 def test_resolver_translation(self):
     with override_settings(USE_SUBDOMAIN=False):
         url = resolve_path(project=self.translation, filename='index.html')
         self.assertEqual(url, '/docs/pip/ja/latest/')
     with override_settings(USE_SUBDOMAIN=True):
         url = resolve_path(project=self.translation, filename='index.html')
         self.assertEqual(url, '/ja/latest/')
开发者ID:lukegb,项目名称:readthedocs.org,代码行数:7,代码来源:test_resolver.py


示例2: test_resolver_subproject_subdomain

 def test_resolver_subproject_subdomain(self):
     with override_settings(USE_SUBDOMAIN=False):
         url = resolve_path(project=self.subproject, filename='index.html')
         self.assertEqual(url, '/docs/pip/projects/sub/ja/latest/')
     with override_settings(USE_SUBDOMAIN=True):
         url = resolve_path(project=self.subproject, filename='index.html')
         self.assertEqual(url, '/projects/sub/ja/latest/')
开发者ID:lukegb,项目名称:readthedocs.org,代码行数:7,代码来源:test_resolver.py


示例3: test_resolver_force_version

 def test_resolver_force_version(self):
     with override_settings(USE_SUBDOMAIN=False):
         url = resolve_path(project=self.pip, filename='index.html', version_slug='foo')
         self.assertEqual(url, '/docs/pip/en/foo/')
     with override_settings(USE_SUBDOMAIN=True):
         url = resolve_path(project=self.pip, filename='index.html', version_slug='foo')
         self.assertEqual(url, '/en/foo/')
开发者ID:lukegb,项目名称:readthedocs.org,代码行数:7,代码来源:test_resolver.py


示例4: test_resolver_filename_index

 def test_resolver_filename_index(self):
     with override_settings(USE_SUBDOMAIN=False):
         url = resolve_path(project=self.pip, filename='foo/bar/index.html')
         self.assertEqual(url, '/docs/pip/en/latest/foo/bar/')
         url = resolve_path(
             project=self.pip, filename='foo/index/index.html')
         self.assertEqual(url, '/docs/pip/en/latest/foo/index/')
开发者ID:homerjonathan,项目名称:readthedocs.org,代码行数:7,代码来源:test_resolver.py


示例5: test_resolver_force_language

 def test_resolver_force_language(self):
     with override_settings(USE_SUBDOMAIN=False):
         url = resolve_path(project=self.pip, filename='index.html', language='cz')
         self.assertEqual(url, '/docs/pip/cz/latest/')
     with override_settings(USE_SUBDOMAIN=True):
         url = resolve_path(project=self.pip, filename='index.html', language='cz')
         self.assertEqual(url, '/cz/latest/')
开发者ID:lukegb,项目名称:readthedocs.org,代码行数:7,代码来源:test_resolver.py


示例6: test_resolver_no_force_translation_with_version

 def test_resolver_no_force_translation_with_version(self):
     with override_settings(USE_SUBDOMAIN=False):
         url = resolve_path(project=self.translation, filename='index.html', language='cz', version_slug='foo')
         self.assertEqual(url, '/docs/pip/ja/foo/')
     with override_settings(USE_SUBDOMAIN=True):
         url = resolve_path(project=self.translation, filename='index.html', language='cz', version_slug='foo')
         self.assertEqual(url, '/ja/foo/')
开发者ID:lukegb,项目名称:readthedocs.org,代码行数:7,代码来源:test_resolver.py


示例7: test_resolver_force_domain

 def test_resolver_force_domain(self):
     with override_settings(USE_SUBDOMAIN=False):
         url = resolve_path(project=self.pip, filename='index.html', cname=True)
         self.assertEqual(url, '/en/latest/')
     with override_settings(USE_SUBDOMAIN=True):
         url = resolve_path(project=self.pip, filename='index.html', cname=True)
         self.assertEqual(url, '/en/latest/')
开发者ID:lukegb,项目名称:readthedocs.org,代码行数:7,代码来源:test_resolver.py


示例8: test_resolver_force_domain_single_version

 def test_resolver_force_domain_single_version(self):
     self.pip.single_version = False
     with override_settings(USE_SUBDOMAIN=False):
         url = resolve_path(project=self.pip, filename='index.html', single_version=True, cname=True)
         self.assertEqual(url, '/')
     with override_settings(USE_SUBDOMAIN=True):
         url = resolve_path(project=self.pip, filename='index.html', single_version=True, cname=True)
         self.assertEqual(url, '/')
开发者ID:lukegb,项目名称:readthedocs.org,代码行数:8,代码来源:test_resolver.py


示例9: test_resolver_domain_object_not_canonical

 def test_resolver_domain_object_not_canonical(self):
     self.domain = get(Domain, domain='http://docs.foobar.com', project=self.pip, canonical=False)
     with override_settings(USE_SUBDOMAIN=False):
         url = resolve_path(project=self.pip, filename='')
         self.assertEqual(url, '/docs/pip/en/latest/')
     with override_settings(USE_SUBDOMAIN=True):
         url = resolve_path(project=self.pip, filename='')
         self.assertEqual(url, '/en/latest/')
开发者ID:lukegb,项目名称:readthedocs.org,代码行数:8,代码来源:test_resolver.py


示例10: test_resolver_subproject_both_single_version

 def test_resolver_subproject_both_single_version(self):
     self.pip.single_version = True
     self.subproject.single_version = True
     with override_settings(USE_SUBDOMAIN=False):
         url = resolve_path(project=self.subproject, filename='index.html')
         self.assertEqual(url, '/docs/pip/projects/sub/')
     with override_settings(USE_SUBDOMAIN=True):
         url = resolve_path(project=self.subproject, filename='index.html')
         self.assertEqual(url, '/projects/sub/')
开发者ID:lukegb,项目名称:readthedocs.org,代码行数:9,代码来源:test_resolver.py


示例11: test_resolver_filename_sphinx

 def test_resolver_filename_sphinx(self):
     self.pip.documentation_type = 'sphinx'
     with override_settings(USE_SUBDOMAIN=False):
         url = resolve_path(project=self.pip, filename='foo/bar')
         self.assertEqual(url, '/docs/pip/en/latest/foo/bar.html')
         url = resolve_path(project=self.pip, filename='foo/index')
         self.assertEqual(url, '/docs/pip/en/latest/foo/')
     self.pip.documentation_type = 'mkdocs'
     with override_settings(USE_SUBDOMAIN=False):
         url = resolve_path(project=self.pip, filename='foo/bar')
         self.assertEqual(url, '/docs/pip/en/latest/foo/bar/')
         url = resolve_path(project=self.pip, filename='foo/index')
         self.assertEqual(url, '/docs/pip/en/latest/foo/')
开发者ID:lukegb,项目名称:readthedocs.org,代码行数:13,代码来源:test_resolver.py


示例12: test_resolver_filename

    def test_resolver_filename(self):
        with override_settings(USE_SUBDOMAIN=False):
            url = resolve_path(project=self.pip, filename='/foo/bar/blah.html')
            self.assertEqual(url, '/docs/pip/en/latest/foo/bar/blah.html')
        with override_settings(USE_SUBDOMAIN=True):
            url = resolve_path(project=self.pip, filename='/foo/bar/blah.html')
            self.assertEqual(url, '/en/latest/foo/bar/blah.html')

        with override_settings(USE_SUBDOMAIN=False):
            url = resolve_path(project=self.pip, filename='')
            self.assertEqual(url, '/docs/pip/en/latest/')
        with override_settings(USE_SUBDOMAIN=True):
            url = resolve_path(project=self.pip, filename='')
            self.assertEqual(url, '/en/latest/')
开发者ID:lukegb,项目名称:readthedocs.org,代码行数:14,代码来源:test_resolver.py


示例13: serve_docs

def serve_docs(request, project, subproject,
               lang_slug=None, version_slug=None, filename=''):
    """
    This exists mainly to map existing proj, lang, version, filename views to the file format.
    """
    if not version_slug:
        version_slug = project.get_default_version()
    try:
        version = project.versions.public(request.user).get(slug=version_slug)
    except Version.DoesNotExist:
        # Properly raise a 404 if the version doesn't exist & a 401 if it does
        if project.versions.filter(slug=version_slug).exists():
            return _serve_401(request, project)
        raise Http404('Version does not exist.')
    filename = resolve_path(
        subproject or project,  # Resolve the subproject if it exists
        version_slug=version_slug, language=lang_slug, filename=filename,
        subdomain=True,  # subdomain will make it a "full" path without a URL prefix
    )
    if (
        version.privacy_level == constants.PRIVATE and
        not AdminPermission.is_member(user=request.user, obj=project)
    ):
        return _serve_401(request, project)
    return _serve_symlink_docs(request,
                               filename=filename,
                               project=project,
                               privacy_level=version.privacy_level)
开发者ID:Jarvie8176,项目名称:readthedocs.org,代码行数:28,代码来源:serve.py


示例14: _manage_imported_files

def _manage_imported_files(version, path, commit):
    """Update imported files for version

    :param version: Version instance
    :param path: Path to search
    :param commit: Commit that updated path
    """
    changed_files = set()
    for root, __, filenames in os.walk(path):
        for filename in filenames:
            dirpath = os.path.join(root.replace(path, "").lstrip("/"), filename.lstrip("/"))
            full_path = os.path.join(root, filename)
            md5 = hashlib.md5(open(full_path, "rb").read()).hexdigest()
            try:
                obj, __ = ImportedFile.objects.get_or_create(
                    project=version.project, version=version, path=dirpath, name=filename
                )
            except ImportedFile.MultipleObjectsReturned:
                log.exception("Error creating ImportedFile")
                continue
            if obj.md5 != md5:
                obj.md5 = md5
                changed_files.add(dirpath)
            if obj.commit != commit:
                obj.commit = commit
            obj.save()
    # Delete ImportedFiles from previous versions
    ImportedFile.objects.filter(project=version.project, version=version).exclude(commit=commit).delete()
    # Purge Cache
    changed_files = [resolve_path(version.project, filename=file, version_slug=version.slug) for file in changed_files]
    cdn_ids = getattr(settings, "CDN_IDS", None)
    if cdn_ids:
        if version.project.slug in cdn_ids:
            purge(cdn_ids[version.project.slug], changed_files)
开发者ID:rtfd,项目名称:readthedocs.org,代码行数:34,代码来源:tasks.py


示例15: get_full_path

    def get_full_path(self, filename, language=None, version_slug=None):
        """
        Return a full path for a given filename. This will include version and
        language information. No protocol/domain is returned.
        """

        # Handle explicit http redirects
        if re.match("^https?://", filename):
            return filename

        return resolve_path(project=self.project, language=language, version_slug=version_slug, filename=filename)
开发者ID:cocheok,项目名称:readthedocs.org,代码行数:11,代码来源:models.py


示例16: robots_txt

def robots_txt(request, project):
    """
    Serve custom user's defined ``/robots.txt``.

    If the user added a ``robots.txt`` in the "default version" of the project,
    we serve it directly.
    """
    # Use the ``robots.txt`` file from the default version configured
    version_slug = project.get_default_version()
    version = project.versions.get(slug=version_slug)

    no_serve_robots_txt = any([
        # If project is private or,
        project.privacy_level == constants.PRIVATE,
        # default version is private or,
        version.privacy_level == constants.PRIVATE,
        # default version is not active or,
        not version.active,
        # default version is not built
        not version.built,
    ])
    if no_serve_robots_txt:
        # ... we do return a 404
        raise Http404()

    filename = resolve_path(
        project,
        version_slug=version_slug,
        filename='robots.txt',
        subdomain=True,  # subdomain will make it a "full" path without a URL prefix
    )

    # This breaks path joining, by ignoring the root when given an "absolute" path
    if filename[0] == '/':
        filename = filename[1:]

    basepath = PublicSymlink(project).project_root
    fullpath = os.path.join(basepath, filename)

    if os.path.exists(fullpath):
        return HttpResponse(open(fullpath).read(), content_type='text/plain')

    sitemap_url = '{scheme}://{domain}/sitemap.xml'.format(
        scheme='https',
        domain=project.subdomain(),
    )
    return HttpResponse(
        'User-agent: *\nAllow: /\nSitemap: {}\n'.format(sitemap_url),
        content_type='text/plain',
    )
开发者ID:rtfd,项目名称:readthedocs.org,代码行数:50,代码来源:serve.py


示例17: _manage_imported_files

def _manage_imported_files(version, path, commit):
    """
    Update imported files for version.

    :param version: Version instance
    :param path: Path to search
    :param commit: Commit that updated path
    """
    changed_files = set()
    for root, __, filenames in os.walk(path):
        for filename in filenames:
            dirpath = os.path.join(root.replace(path, '').lstrip('/'),
                                   filename.lstrip('/'))
            full_path = os.path.join(root, filename)
            md5 = hashlib.md5(open(full_path, 'rb').read()).hexdigest()
            try:
                obj, __ = ImportedFile.objects.get_or_create(
                    project=version.project,
                    version=version,
                    path=dirpath,
                    name=filename,
                )
            except ImportedFile.MultipleObjectsReturned:
                log.warning('Error creating ImportedFile')
                continue
            if obj.md5 != md5:
                obj.md5 = md5
                changed_files.add(dirpath)
            if obj.commit != commit:
                obj.commit = commit
            obj.save()
    # Delete ImportedFiles from previous versions
    ImportedFile.objects.filter(project=version.project,
                                version=version
                                ).exclude(commit=commit).delete()
    changed_files = [
        resolve_path(
            version.project, filename=file, version_slug=version.slug,
        ) for file in changed_files
    ]
    files_changed.send(sender=Project, project=version.project,
                       files=changed_files)
开发者ID:homerjonathan,项目名称:readthedocs.org,代码行数:42,代码来源:tasks.py


示例18: resolve_404_path

    def resolve_404_path(project, version_slug=None, language=None):
        """
        Helper to resolve the path of ``404.html`` for project.

        The resolution is based on ``project`` object, version slug and
        language.

        :returns: tuple containing the (basepath, filename)
        :rtype: tuple
        """
        filename = resolve_path(
            project,
            version_slug=version_slug,
            language=language,
            filename='404.html',
            subdomain=True,  # subdomain will make it a "full" path without a URL prefix
        )

        # This breaks path joining, by ignoring the root when given an "absolute" path
        if filename[0] == '/':
            filename = filename[1:]

        version = None
        if version_slug:
            version_qs = project.versions.filter(slug=version_slug)
            if version_qs.exists():
                version = version_qs.first()

        private = any([
            version and version.privacy_level == PRIVATE,
            not version and project.privacy_level == PRIVATE,
        ])
        if private:
            symlink = PrivateSymlink(project)
        else:
            symlink = PublicSymlink(project)
        basepath = symlink.project_root
        fullpath = os.path.join(basepath, filename)
        return (basepath, filename, fullpath)
开发者ID:chrisjsewell,项目名称:readthedocs.org,代码行数:39,代码来源:__init__.py


示例19: make_document_url

def make_document_url(project, version=None, page=""):
    if not project:
        return ""
    return resolve_path(project=project, version_slug=version, filename=page)
开发者ID:rl4debug,项目名称:readthedocs.org,代码行数:4,代码来源:core_tags.py



注:本文中的readthedocs.core.resolver.resolve_path函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python core_tags.make_document_url函数代码示例发布时间:2022-05-26
下一篇:
Python resolver.resolve函数代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap