from django.template import Library
import datetime

register = Library()

@register.filter
def past_days(num_days):
    """
    Returns a list of date objects for a given number of past days,
    including today. Useful for summaries of recent history.

    Usage:

    {% load past_days %}
    <ul>
        {% for day in 7|past_days %}
            <li>{{ day|date:'l, F jS' }}</li>
        {% endfor %}
    </ul>
    """
    days = []
    day = datetime.date.today() - datetime.timedelta(num_days - 1)
    for _ in xrange(num_days):
        days.append(day)
        day += datetime.timedelta(1)
    return days