def daily_sticker_activity_json(user):
    activity = None
    if user.kv.has_unseen_daily_free_stickers.get():
        user.kv.has_unseen_daily_free_stickers.delete()
        activity = DailyFreeStickersActivity({
            'reward_stickers': knobs.DAILY_FREE_STICKERS,
        }, actor=user)
        activity = activity_stream_item(activity, user)
    return util.js_safety(util.client_dumps(activity))
示例#2
0
def activity_stream(request, earliest_timestamp_cutoff=None):
    if settings.PROJECT == 'drawquest':
        return HttpResponse('')

    activities = legacy_get_activity_stream_items(request.user, earliest_timestamp_cutoff=earliest_timestamp_cutoff)

    Metrics.activity_stream_infinite_scroll.record(request)

    return HttpResponse(u''.join([jinja_tags.activity_stream_item(activity, request.user)
                                  for activity in activities]))
    def deliver(self, notification):
        activity = getattr(self, '_action_' + notification.action)(notification)

        recipient = notification.recipient

        if not recipient.redis.activity_stream.valid_activity_type(activity.TYPE):
            return

        recipient.redis.activity_stream.push(activity)

        payload = {'type': activity.TYPE, 'id': activity.id}

        if settings.HTML_APIS_ENABLED:
            payload['html'] = jinja_tags.activity_stream_item(activity, recipient)

        recipient.redis.activity_stream_channel.publish(payload)

        recipient.kv.activity_stream_unseen.increment()