示例#1
0
def update_published_podcasts(request, username):
    User = get_user_model()
    user = get_object_or_404(User, username=username)
    published_podcasts = [pp.podcast for pp in user.publishedpodcast_set.all()]
    update_podcasts.delay([podcast.url for podcast in published_podcasts])
    return HttpResponse('Updated:\n' +
                        '\n'.join([p.url for p in published_podcasts]),
                        content_type='text/plain')
示例#2
0
文件: views.py 项目: fk-lx/mygpo
def update_published_podcasts(request, username):
    user = User.get_user(username)
    if not user:
        raise Http404

    published_podcasts = podcasts_by_id(user.published_objects)
    update_podcasts.delay([podcast.url for podcast in published_podcasts])
    return HttpResponse('Updated:\n' + '\n'.join([p.url for p in published_podcasts]), mimetype='text/plain')
示例#3
0
文件: views.py 项目: gpodder/mygpo
def update_published_podcasts(request, username):
    User = get_user_model()
    user = get_object_or_404(User, username=username)
    published_podcasts = [pp.podcast for pp in user.publishedpodcast_set.all()]
    update_podcasts.delay([podcast.url for podcast in published_podcasts])
    return HttpResponse(
        'Updated:\n' + '\n'.join([p.url for p in published_podcasts]),
        content_type='text/plain',
    )
示例#4
0
文件: views.py 项目: fk-lx/mygpo
def update_podcast(request, podcast):

    if not check_publisher_permission(request.user, podcast):
        return HttpResponseForbidden()

    update_podcasts.delay([podcast.url])
    messages.success(request, _('The update has been scheduled. It might take some time until the results are visible.'))

    url = get_podcast_link_target(podcast, 'podcast-publisher-detail')
    return HttpResponseRedirect(url)
示例#5
0
文件: views.py 项目: Korvox/mygpo
def update_podcast(request, podcast):

    if not check_publisher_permission(request.user, podcast):
        return HttpResponseForbidden()

    update_podcasts.delay([podcast.url])
    messages.success(request, _('The update has been scheduled. It might take some time until the results are visible.'))

    url = get_podcast_link_target(podcast, 'podcast-publisher-detail')
    return HttpResponseRedirect(url)
示例#6
0
文件: views.py 项目: webpigeon/mygpo
    def post(self, request):

        url = request.POST.get('url', None)

        if not url:
            raise Http404

        res = update_podcasts.delay([url])

        return HttpResponseRedirect(reverse('add-podcast-status', args=[res.task_id]))
示例#7
0
def add_podcast(request):
    # TODO what if the url doesn't have a valid podcast?
    url = normalize_feed_url(
        json.loads(request.body.decode('utf-8')).get('url', ''))

    # 404 before we query for url, because query would complain
    # about missing param
    if not url:
        raise Http404

    try:
        # podcast exists, redirects
        Podcast.objects.get(urls__url=url)
        api_podcast_info_path = reverse('api-podcast-info')
        return HttpResponseRedirect(f'{api_podcast_info_path}?url={url}')
    except Podcast.DoesNotExist:
        # podcast doesn't exist, add new podcast
        res = update_podcasts.delay([url])
        response = HttpResponse(status=202)
        job_status_path = reverse('api-add-podcast-status',
                                  kwargs={"job_id": res.task_id})
        response['Location'] = f'{job_status_path}?url={url}'
        return response
示例#8
0
文件: apps.py 项目: gpodder/mygpo
def update_podcast(sender, **kwargs):
    """ update podcast in background when receiving pubsub-notification """
    from mygpo.data.tasks import update_podcasts

    logger.info('updating podcast for "%s" after pubsub notification', sender)
    update_podcasts.delay([sender])
示例#9
0
def update_podcast(sender, **kwargs):
    """ update podcast in background when receiving pubsub-notification """
    from mygpo.data.tasks import update_podcasts

    logger.info('updating podcast for "%s" after pubsub notification', sender)
    update_podcasts.delay([sender])