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

Python utils.broadcast函数代码示例

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

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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

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