def calendar_view(request, year=datetime.now().year, month=datetime.now().month, channel_slug=None, page=1):
    """
    Shows a grid (similar in appearance to a physical calendar) of podcasts for either a specific podcast channel or no
    channel at all.  Based on the GridOne layout originally developed for Calendars.
    """
    site = Site.objects.get_current()
    try:
        page = int(page)
        if year:
            year = int(year)
        if month:
            month = int(month)
    except __HOLE__:
        raise Http404

    channel = None
    channel_list = Channel.current.filter(section__publication__site=site).order_by('title')
    episodes = Episode.objects.filter(channel__section__publication__site=site)
    if channel_slug:
        channel = get_object_or_404(Channel, slug=channel_slug)
        episodes = episodes.filter(channel=channel)

    month_formatted = pycal.monthcalendar(year, month)

    month_minus = month - 1

    month_plus = month + 1

    month_name = pycal.month_name[month]

    weekday_header = pycal.weekheader(3).strip().split(" ")                                              

    year_minus = year - 1

    year_plus = year + 1

    today = datetime.now().day

    this_month = datetime.now().month

    this_year = datetime.now().year

    episode_list = episodes.filter(pub_date__year=year).filter(pub_date__month=month)
    page_name = "This is a test of the calendaring system."

    page = {
        'channel': channel,
        'channel_list': channel_list,
        'episode_list': episode_list,
        'month': month,
        'month_formatted': month_formatted,
        'month_minus': month_minus,
        'month_name': month_name,
        'month_plus': month_plus,
        'page_name': page_name,
        'site': site,
        'this_month': this_month,
        'this_year': this_year,
        'today': today,
        'weekday_header': weekday_header,
        'year': year,
        'year_minus': year_minus,
        'year_plus': year_plus,
    }

    return render_to_response('podcasts/calendar.html', page, context_instance=RequestContext(request))
dataset/ETHPy150Open albatrossandco/brubeck_cms/brubeck/podcasts/views.py/calendar_view