本文整理汇总了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;未经允许,请勿转载。 |
请发表评论