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

Python utils.run_on_app_servers函数代码示例

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

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



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

示例1: symlink_subprojects

def symlink_subprojects(project):
    """Symlink project subprojects

    Link from HOME/user_builds/project/subprojects/<project> ->
              HOME/user_builds/<project>/rtd-builds/
    """
    # Subprojects
    rels = project.subprojects.all()
    for rel in rels:
        # A mapping of slugs for the subproject URL to the actual built documentation
        from_to = OrderedDict({rel.child.slug: rel.child.slug})
        if rel.alias:
            from_to[rel.alias] = rel.child.slug
        # Fix underscore in slugs
        if '_' in rel.child.slug:
            from_to[rel.child.slug.replace('_', '-')] = rel.child.slug
        for from_slug, to_slug in from_to.items():
            log.debug(LOG_TEMPLATE
                      .format(project=project.slug,
                              version=project.get_default_version(),
                              msg="Symlinking subproject: %s" % from_slug))

            # The directory for this specific subproject
            symlink = project.subprojects_symlink_path(from_slug)
            run_on_app_servers('mkdir -p %s' % '/'.join(symlink.split('/')[:-1]))

            # Where the actual docs live
            docs_dir = os.path.join(settings.DOCROOT, to_slug, 'rtd-builds')
            run_on_app_servers('ln -nsf %s %s' % (docs_dir, symlink))
开发者ID:secretario,项目名称:readthedocs.org,代码行数:29,代码来源:symlinks.py


示例2: symlink_subprojects

def symlink_subprojects(version):
    """Symlink project subprojects

    Link from HOME/user_builds/project/subprojects/<project> ->
              HOME/user_builds/<project>/rtd-builds/
    """
    # Subprojects
    if getattr(settings, 'DONT_HIT_DB', True):
        subproject_slugs = [data['slug']
                            for data in (api.project(version.project.pk)
                                         .subprojects
                                         .get()['subprojects'])]
    else:
        rels = version.project.subprojects.all()
        subproject_slugs = [rel.child.slug for rel in rels]
    for slug in subproject_slugs:
        slugs = [slug]
        if '_' in slugs[0]:
            slugs.append(slugs[0].replace('_', '-'))
        for subproject_slug in slugs:
            log.debug(LOG_TEMPLATE
                      .format(project=version.project.slug,
                              version=version.slug,
                              msg="Symlinking subproject: %s" % subproject_slug))

            # The directory for this specific subproject
            symlink = version.project.subprojects_symlink_path(subproject_slug)
            run_on_app_servers('mkdir -p %s' % '/'.join(symlink.split('/')[:-1]))

            # Where the actual docs live
            docs_dir = os.path.join(settings.DOCROOT, subproject_slug, 'rtd-builds')
            run_on_app_servers('ln -nsf %s %s' % (docs_dir, symlink))
开发者ID:royalwang,项目名称:readthedocs.org,代码行数:32,代码来源:symlinks.py


示例3: remove_symlink_single_version

def remove_symlink_single_version(version):
    """Remove single_version symlink"""
    log.debug(LOG_TEMPLATE.format(
        project=version.project.slug,
        version=version.project.get_default_version(),
        msg="Removing symlink for single_version")
    )
    symlink = version.project.single_version_symlink_path()
    run_on_app_servers('rm -f %s' % symlink)
开发者ID:royalwang,项目名称:readthedocs.org,代码行数:9,代码来源:symlinks.py


示例4: remove_path_from_web

def remove_path_from_web(path):
    """
    Remove the given path from the web servers file system.
    """
    # Santity check  for spaces in the path since spaces would result in
    # deleting unpredictable paths with "rm -rf".
    assert ' ' not in path, "No spaces allowed in path"

    # TODO: We need some proper escaping here for the given path.
    run_on_app_servers('rm -rf {path}'.format(path=path))
开发者ID:npk,项目名称:readthedocs.org,代码行数:10,代码来源:tasks.py


示例5: symlink_cnames

def symlink_cnames(version):
    """Symlink project CNAME domains

    OLD
    Link from HOME/user_builds/cnames/<cname> ->
              HOME/user_builds/<project>/rtd-builds/
    NEW
    Link from HOME/user_builds/cnametoproject/<cname> ->
              HOME/user_builds/<project>/
    """
    try:
        redis_conn = redis.Redis(**settings.REDIS)
        cnames = redis_conn.smembers('rtd_slug:v1:%s' % version.project.slug)
    except redis.ConnectionError:
        log.error(LOG_TEMPLATE
                  .format(project=version.project.slug, version=version.slug,
                          msg='Failed to symlink cnames, Redis error.'),
                  exc_info=True)
        return
    for cname in cnames:
        log.debug(LOG_TEMPLATE
                  .format(project=version.project.slug, version=version.slug,
                          msg="Symlinking CNAME: %s" % cname))
        docs_dir = version.project.rtd_build_path(version.slug)
        # Chop off the version from the end.
        docs_dir = '/'.join(docs_dir.split('/')[:-1])
        # Old symlink location -- Keep this here til we change nginx over
        symlink = version.project.cnames_symlink_path(cname)
        run_on_app_servers('mkdir -p %s' % '/'.join(symlink.split('/')[:-1]))
        run_on_app_servers('ln -nsf %s %s' % (docs_dir, symlink))
        # New symlink location
        new_docs_dir = version.project.doc_path
        new_cname_symlink = os.path.join(getattr(settings, 'SITE_ROOT'), 'cnametoproject', cname)
        run_on_app_servers('mkdir -p %s' % '/'.join(new_cname_symlink.split('/')[:-1]))
        run_on_app_servers('ln -nsf %s %s' % (new_docs_dir, new_cname_symlink))
开发者ID:royalwang,项目名称:readthedocs.org,代码行数:35,代码来源:symlinks.py


示例6: symlink_cnames

def symlink_cnames(project):
    """Symlink project CNAME domains

    OLD
    Link from HOME/user_builds/cnames/<cname> ->
              HOME/user_builds/<project>/rtd-builds/
    NEW
    Link from HOME/user_builds/cnametoproject/<cname> ->
              HOME/user_builds/<project>/
    """
    domains = Domain.objects.filter(project=project, cname=True)
    for domain in domains:
        log.debug(LOG_TEMPLATE.format(
            project=project.slug,
            version=project.get_default_version(),
            msg="Symlinking CNAME: %s" % domain.clean_host)
        )
        docs_dir = project.rtd_build_path()
        # Chop off the version from the end.
        docs_dir = '/'.join(docs_dir.split('/')[:-1])
        # Old symlink location -- Keep this here til we change nginx over
        symlink = project.cnames_symlink_path(domain.clean_host)
        run_on_app_servers('mkdir -p %s' % '/'.join(symlink.split('/')[:-1]))
        run_on_app_servers('ln -nsf %s %s' % (docs_dir, symlink))
        # New symlink location
        new_docs_dir = project.doc_path
        new_cname_symlink = os.path.join(
            getattr(settings, 'SITE_ROOT'),
            'cnametoproject',
            domain.clean_host,
        )
        run_on_app_servers('mkdir -p %s' % '/'.join(new_cname_symlink.split('/')[:-1]))
        run_on_app_servers('ln -nsf %s %s' % (new_docs_dir, new_cname_symlink))
开发者ID:secretario,项目名称:readthedocs.org,代码行数:33,代码来源:symlinks.py


示例7: symlink_cname

def symlink_cname(version):
    build_dir = version.project.rtd_build_path(version.slug)
    #Chop off the version from the end.
    build_dir = '/'.join(build_dir.split('/')[:-1])
    redis_conn = redis.Redis(**settings.REDIS)
    try:
        cnames = redis_conn.smembers('rtd_slug:v1:%s' % version.project.slug)
    except redis.ConnectionError:
        return
    for cname in cnames:
        log.info("Symlinking %s" % cname)
        symlink = version.project.rtd_cname_path(cname)
        run_on_app_servers('mkdir -p %s' % '/'.join(symlink.split('/')[:-1]))
        run_on_app_servers('ln -nsf %s %s' % (build_dir, symlink))
开发者ID:wyrdvans,项目名称:readthedocs.org,代码行数:14,代码来源:tasks.py


示例8: symlink_single_version

def symlink_single_version(version):
    """
    Link from HOME/user_builds/<project>/single_version ->
              HOME/user_builds/<project>/rtd-builds/<default_version>/
    """
    default_version = version.project.get_default_version()
    log.debug(LOG_TEMPLATE.format(project=version.project.slug, version=default_version, msg="Symlinking single_version"))

    # The single_version directory
    symlink = version.project.single_version_symlink_path()
    run_on_app_servers('mkdir -p %s' % '/'.join(symlink.split('/')[:-1]))

    # Where the actual docs live
    docs_dir = os.path.join(settings.DOCROOT, version.project.slug, 'rtd-builds', default_version)
    run_on_app_servers('ln -nsf %s %s' % (docs_dir, symlink))
开发者ID:rjmackay,项目名称:readthedocs.org,代码行数:15,代码来源:symlinks.py


示例9: symlink_translations

def symlink_translations(version):
    """Symlink project translations

    Link from HOME/user_builds/project/translations/<lang> ->
              HOME/user_builds/<project>/rtd-builds/
    """
    translations = {}

    if getattr(settings, 'DONT_HIT_DB', True):
        for trans in (api
                      .project(version.project.pk)
                      .translations.get()['translations']):
            translations[trans['language']] = trans['slug']
    else:
        for trans in version.project.translations.all():
            translations[trans.language] = trans.slug

    # Default language, and pointer for 'en'
    version_slug = version.project.slug.replace('_', '-')
    translations[version.project.language] = version_slug
    if 'en' not in translations:
        translations['en'] = version_slug

    run_on_app_servers(
        'mkdir -p {0}'
        .format(os.path.join(version.project.doc_path, 'translations')))

    for (language, slug) in translations.items():
        log.debug(LOG_TEMPLATE.format(
            project=version.project.slug,
            version=version.slug,
            msg="Symlinking translation: %s->%s" % (language, slug)
        ))

        # The directory for this specific translation
        symlink = version.project.translations_symlink_path(language)
        translation_path = os.path.join(settings.DOCROOT, slug, 'rtd-builds')
        run_on_app_servers('ln -nsf {0} {1}'.format(translation_path, symlink))
开发者ID:royalwang,项目名称:readthedocs.org,代码行数:38,代码来源:symlinks.py


示例10: clear_html_artifacts

def clear_html_artifacts(version):
    run_on_app_servers('rm -rf %s' % version.project.rtd_build_path(version=version.slug))
开发者ID:npk,项目名称:readthedocs.org,代码行数:2,代码来源:tasks.py


示例11: clear_htmlzip_artifacts

def clear_htmlzip_artifacts(version):
    run_on_app_servers('rm -rf %s'
                       % version.project.get_production_media_path(
                           type_='htmlzip', version_slug=version.slug))
开发者ID:npk,项目名称:readthedocs.org,代码行数:4,代码来源:tasks.py


示例12: clear_epub_artifacts

def clear_epub_artifacts(version):
    run_on_app_servers('rm -rf %s' % version.project.get_production_media_path(type='epub', version_slug=version.slug))
开发者ID:rrahn,项目名称:readthedocs.org,代码行数:2,代码来源:tasks.py


示例13: clear_epub_artifacts

def clear_epub_artifacts(version):
    run_on_app_servers("rm -rf %s" % version.project.get_production_media_path(type_="epub", version_slug=version.slug))
开发者ID:rtfd,项目名称:readthedocs.org,代码行数:2,代码来源:tasks.py



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
Python utils.trigger_build函数代码示例发布时间:2022-05-26
下一篇:
Python utils.broadcast函数代码示例发布时间: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