本文整理汇总了Python中readthedocs.core.utils.broadcast函数的典型用法代码示例。如果您正苦于以下问题:Python broadcast函数的具体用法?Python broadcast怎么用?Python broadcast使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了broadcast函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: broadcast_remove_orphan_symlinks
def broadcast_remove_orphan_symlinks():
"""
Broadcast the task ``remove_orphan_symlinks`` to all our web servers.
This task is executed by CELERY BEAT.
"""
broadcast(type='web', task=remove_orphan_symlinks, args=[])
开发者ID:homerjonathan,项目名称:readthedocs.org,代码行数:7,代码来源:tasks.py
示例2: finish_build
def finish_build(version_pk, build_pk, hostname=None, html=False,
localmedia=False, search=False, pdf=False, epub=False):
"""Build Finished, do house keeping bits"""
version = Version.objects.get(pk=version_pk)
build = Build.objects.get(pk=build_pk)
if html:
version.active = True
version.built = True
version.save()
if not pdf:
clear_pdf_artifacts(version)
if not epub:
clear_epub_artifacts(version)
move_files(
version_pk=version_pk,
hostname=hostname,
html=html,
localmedia=localmedia,
search=search,
pdf=pdf,
epub=epub,
)
# Symlink project on every web
broadcast(type='app', task=symlink_project, args=[version.project.pk])
# Delayed tasks
update_static_metadata.delay(version.project.pk)
fileify.delay(version.pk, commit=build.commit)
update_search.delay(version.pk, commit=build.commit)
开发者ID:BanterClaus,项目名称:readthedocs.org,代码行数:33,代码来源:tasks.py
示例3: delete
def delete(self, *args, **kwargs): # pylint: disable=arguments-differ
from readthedocs.projects import tasks
log.info('Removing files for version %s', self.slug)
broadcast(type='app', task=tasks.clear_artifacts, args=[self.pk])
broadcast(
type='app', task=tasks.symlink_project, args=[self.project.pk])
super(Version, self).delete(*args, **kwargs)
开发者ID:gmiddlecote,项目名称:readthedocs.org,代码行数:7,代码来源:models.py
示例4: project_subprojects
def project_subprojects(request, project_slug):
"""Project subprojects view and form view"""
project = get_object_or_404(Project.objects.for_admin_user(request.user),
slug=project_slug)
form_kwargs = {
'parent': project,
'user': request.user,
}
if request.method == 'POST':
form = SubprojectForm(request.POST, **form_kwargs)
if form.is_valid():
form.save()
broadcast(type='app', task=tasks.symlink_subproject, args=[project.pk])
project_dashboard = reverse(
'projects_subprojects', args=[project.slug])
return HttpResponseRedirect(project_dashboard)
else:
form = SubprojectForm(**form_kwargs)
subprojects = project.subprojects.all()
return render_to_response(
'projects/project_subprojects.html',
{'form': form, 'project': project, 'subprojects': subprojects},
context_instance=RequestContext(request)
)
开发者ID:BanterClaus,项目名称:readthedocs.org,代码行数:27,代码来源:private.py
示例5: project_subprojects_delete
def project_subprojects_delete(request, project_slug, child_slug):
parent = get_object_or_404(Project.objects.for_admin_user(request.user), slug=project_slug)
child = get_object_or_404(Project.objects.all(), slug=child_slug)
parent.remove_subproject(child)
broadcast(type='app', task=tasks.symlink_subproject, args=[parent.pk])
return HttpResponseRedirect(reverse('projects_subprojects',
args=[parent.slug]))
开发者ID:BanterClaus,项目名称:readthedocs.org,代码行数:7,代码来源:private.py
示例6: form_valid
def form_valid(self, form):
broadcast(
type='app',
task=tasks.symlink_subproject,
args=[self.get_project().pk],
)
return super(ProjectRelationshipMixin, self).form_valid(form)
开发者ID:gmiddlecote,项目名称:readthedocs.org,代码行数:7,代码来源:private.py
示例7: project_version_detail
def project_version_detail(request, project_slug, version_slug):
"""Project version detail page"""
project = get_object_or_404(Project.objects.for_admin_user(request.user), slug=project_slug)
version = get_object_or_404(
Version.objects.public(user=request.user, project=project, only_active=False),
slug=version_slug)
form = VersionForm(request.POST or None, instance=version)
if request.method == 'POST' and form.is_valid():
version = form.save()
if form.has_changed():
if 'active' in form.changed_data and version.active is False:
log.info('Removing files for version %s' % version.slug)
broadcast(type='app', task=tasks.clear_artifacts, args=[version.pk])
version.built = False
version.save()
url = reverse('project_version_list', args=[project.slug])
return HttpResponseRedirect(url)
return render_to_response(
'projects/project_version_detail.html',
{'form': form, 'project': project, 'version': version},
context_instance=RequestContext(request)
)
开发者ID:BanterClaus,项目名称:readthedocs.org,代码行数:25,代码来源:private.py
示例8: delete
def delete(self, *args, **kwargs): # pylint: disable=arguments-differ
from readthedocs.projects import tasks
broadcast(
type='app',
task=tasks.symlink_domain,
args=[self.project.pk, self.domain, True],
)
super().delete(*args, **kwargs)
开发者ID:chrisjsewell,项目名称:readthedocs.org,代码行数:8,代码来源:models.py
示例9: handle
def handle(self, *args, **options):
queryset = Project.objects.all()
for p in queryset:
log.info("Generating metadata for %s", p)
try:
broadcast(type='app', task=tasks.update_static_metadata, args=[p.pk])
except Exception:
log.exception('Build failed for %s', p)
开发者ID:devrkd,项目名称:readthedocs.org,代码行数:8,代码来源:set_metadata.py
示例10: delete_selected_and_artifacts
def delete_selected_and_artifacts(self, request, queryset):
"""Remove HTML/etc artifacts from application instances
Prior to the query delete, broadcast tasks to delete HTML artifacts from
application instances.
"""
if request.POST.get('post'):
for project in queryset:
broadcast(type='app', task=remove_dir, args=[project.doc_path])
return delete_selected(self, request, queryset)
开发者ID:gwillem,项目名称:readthedocs.org,代码行数:10,代码来源:admin.py
示例11: save
def save(self, *args, **kwargs): # pylint: disable=arguments-differ
"""Add permissions to the Version for all owners on save."""
from readthedocs.projects import tasks
obj = super().save(*args, **kwargs)
for owner in self.project.users.all():
assign('view_version', owner, self)
broadcast(
type='app',
task=tasks.symlink_project,
args=[self.project.pk],
)
return obj
开发者ID:rtfd,项目名称:readthedocs.org,代码行数:12,代码来源:models.py
示例12: save
def save(self, *args, **kwargs): # pylint: disable=arguments-differ
"""Add permissions to the Version for all owners on save."""
from readthedocs.projects import tasks
obj = super(Version, self).save(*args, **kwargs)
for owner in self.project.users.all():
assign('view_version', owner, self)
try:
self.project.sync_supported_versions()
except Exception:
log.error('failed to sync supported versions', exc_info=True)
broadcast(type='app', task=tasks.symlink_project, args=[self.project.pk])
return obj
开发者ID:charlie-wong,项目名称:readthedocs.org,代码行数:12,代码来源:models.py
示例13: save
def save(self, *args, **kwargs): # pylint: disable=arguments-differ
from readthedocs.projects import tasks
parsed = urlparse(self.domain)
if parsed.scheme or parsed.netloc:
self.domain = parsed.netloc
else:
self.domain = parsed.path
super().save(*args, **kwargs)
broadcast(
type='app',
task=tasks.symlink_domain,
args=[self.project.pk, self.domain],
)
开发者ID:chrisjsewell,项目名称:readthedocs.org,代码行数:13,代码来源:models.py
示例14: wipe_version_via_slugs
def wipe_version_via_slugs(version_slug, project_slug):
"""Wipes the given version of a given project."""
version = get_object_or_404(
Version,
slug=version_slug,
project__slug=project_slug,
)
del_dirs = [
os.path.join(version.project.doc_path, 'checkouts', version.slug),
os.path.join(version.project.doc_path, 'envs', version.slug),
os.path.join(version.project.doc_path, 'conda', version.slug),
]
for del_dir in del_dirs:
broadcast(type='build', task=remove_dirs, args=[(del_dir,)])
开发者ID:chrisjsewell,项目名称:readthedocs.org,代码行数:14,代码来源:general.py
示例15: delete
def delete(self, *args, **kwargs): # pylint: disable=arguments-differ
from readthedocs.projects import tasks
log.info('Removing files for version %s', self.slug)
broadcast(
type='app',
task=tasks.remove_dirs,
args=[self.get_artifact_paths()],
)
project_pk = self.project.pk
super().delete(*args, **kwargs)
broadcast(
type='app',
task=tasks.symlink_project,
args=[project_pk],
)
开发者ID:rtfd,项目名称:readthedocs.org,代码行数:15,代码来源:models.py
示例16: wipe_version
def wipe_version(request, project_slug, version_slug):
version = get_object_or_404(Version, project__slug=project_slug,
slug=version_slug)
if request.user not in version.project.users.all():
raise Http404("You must own this project to wipe it.")
if request.method == 'POST':
del_dirs = [
os.path.join(version.project.doc_path, 'checkouts', version.slug),
os.path.join(version.project.doc_path, 'envs', version.slug),
os.path.join(version.project.doc_path, 'conda', version.slug),
]
for del_dir in del_dirs:
broadcast(type='build', task=remove_dir, args=[del_dir])
return redirect('project_version_list', project_slug)
return render_to_response('wipe_version.html',
context_instance=RequestContext(request))
开发者ID:pombredanne,项目名称:readthedocs.org,代码行数:17,代码来源:__init__.py
示例17: project_delete
def project_delete(request, project_slug):
"""
Project delete confirmation view.
Make a project as deleted on POST, otherwise show a form asking for
confirmation of delete.
"""
project = get_object_or_404(
Project.objects.for_admin_user(request.user), slug=project_slug)
if request.method == 'POST':
broadcast(type='app', task=tasks.remove_dir, args=[project.doc_path])
project.delete()
messages.success(request, _('Project deleted'))
project_dashboard = reverse('projects_dashboard')
return HttpResponseRedirect(project_dashboard)
return render(request, 'projects/project_delete.html', {'project': project})
开发者ID:gmiddlecote,项目名称:readthedocs.org,代码行数:18,代码来源:private.py
示例18: project_version_delete_html
def project_version_delete_html(request, project_slug, version_slug):
"""Project version 'delete' HTML
This marks a version as not built
"""
project = get_object_or_404(Project.objects.for_admin_user(request.user), slug=project_slug)
version = get_object_or_404(
Version.objects.public(user=request.user, project=project, only_active=False),
slug=version_slug)
if not version.active:
version.built = False
version.save()
broadcast(type='app', task=tasks.clear_artifacts, args=[version.pk])
else:
return HttpResponseBadRequest("Can't delete HTML for an active version.")
return HttpResponseRedirect(
reverse('project_version_list', kwargs={'project_slug': project_slug}))
开发者ID:BanterClaus,项目名称:readthedocs.org,代码行数:18,代码来源:private.py
示例19: save
def save(self, *args, **kwargs): # pylint: disable=arguments-differ
from readthedocs.projects import tasks
first_save = self.pk is None
if not self.slug:
# Subdomains can't have underscores in them.
self.slug = slugify(self.name)
if self.slug == '':
raise Exception(_("Model must have slug"))
super(Project, self).save(*args, **kwargs)
for owner in self.users.all():
assign('view_project', owner, self)
try:
if self.default_branch:
latest = self.versions.get(slug=LATEST)
if latest.identifier != self.default_branch:
latest.identifier = self.default_branch
latest.save()
except Exception:
log.exception('Failed to update latest identifier')
# Add exceptions here for safety
try:
self.sync_supported_versions()
except Exception:
log.exception('failed to sync supported versions')
try:
if not first_save:
broadcast(type='app', task=tasks.symlink_project, args=[self.pk])
except Exception:
log.exception('failed to symlink project')
try:
if not first_save:
broadcast(type='app', task=tasks.update_static_metadata, args=[self.pk])
except Exception:
log.exception('failed to update static metadata')
try:
branch = self.default_branch or self.vcs_repo().fallback_branch
if not self.versions.filter(slug=LATEST).exists():
self.versions.create_latest(identifier=branch)
except Exception:
log.exception('Error creating default branches')
开发者ID:devrkd,项目名称:readthedocs.org,代码行数:41,代码来源:models.py
示例20: save
def save(self, *args, **kwargs):
from readthedocs.projects import tasks
first_save = self.pk is None
if not self.slug:
# Subdomains can't have underscores in them.
self.slug = slugify(self.name).replace("_", "-")
if self.slug == "":
raise Exception(_("Model must have slug"))
super(Project, self).save(*args, **kwargs)
for owner in self.users.all():
assign("view_project", owner, self)
try:
if self.default_branch:
latest = self.versions.get(slug=LATEST)
if latest.identifier != self.default_branch:
latest.identifier = self.default_branch
latest.save()
except Exception:
log.error("Failed to update latest identifier", exc_info=True)
# Add exceptions here for safety
try:
self.sync_supported_versions()
except Exception:
log.error("failed to sync supported versions", exc_info=True)
try:
if not first_save:
broadcast(type="app", task=tasks.symlink_project, args=[self.pk])
except Exception:
log.error("failed to symlink project", exc_info=True)
try:
update_static_metadata(project_pk=self.pk)
except Exception:
log.error("failed to update static metadata", exc_info=True)
try:
branch = self.default_branch or self.vcs_repo().fallback_branch
if not self.versions.filter(slug=LATEST).exists():
self.versions.create_latest(identifier=branch)
except Exception:
log.error("Error creating default branches", exc_info=True)
开发者ID:optimizely,项目名称:readthedocs.org,代码行数:41,代码来源:models.py
注:本文中的readthedocs.core.utils.broadcast函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论