@json_view
@non_atomic_requests
def site_events(request, start, end):
    start, end = get_daterange_or_404(start, end)
    qs = SiteEvent.objects.filter(
        Q(start__gte=start, start__lte=end) |
        Q(end__gte=start, end__lte=end))

    events = list(site_event_format(request, qs))

    type_pretty = unicode(amo.SITE_EVENT_CHOICES[amo.SITE_EVENT_RELEASE])

    releases = product_details.firefox_history_major_releases

    for version, date_ in releases.items():
        events.append({
            'start': date_,
            'type_pretty': type_pretty,
            'type': amo.SITE_EVENT_RELEASE,
            'description': 'Firefox %s released' % version,
        })
    return events
Adds an item to the feed. All args are expected to be Python Unicode
dataset/ETHPy150Open mozilla/addons-server/src/olympia/stats/views.py/site_events--crossover with--dataset/ETHPy150Open CollabQ/CollabQ/vendor/django/utils/feedgenerator.py/SyndicationFeed.add_item