calendarium.templatetags.calendarium_tags: 14 total statements, 100.0% covered

Generated: Sun 2013-03-24 21:11 CET

Source file: /home/tobi/Projects/calendarium/src/calendarium/templatetags/calendarium_tags.py

Stats: 10 executed, 0 missed, 4 excluded, 17 ignored

  1. """Templatetags for the ``calendarium`` project."""
  2. from django.core.urlresolvers import reverse
  3. from django import template
  4. from django.utils.timezone import datetime, now, timedelta, utc
  5. from ..models import Event
  6. register = template.Library()
  7. @register.filter
  8. def get_week_URL(date, day=0):
  9. """
  10. Returns the week view URL for a given date.
  11. :param date: A date instance.
  12. :param day: Day number in a month.
  13. """
  14. if day < 1:
  15. day = 1
  16. date = datetime(year=date.year, month=date.month, day=day, tzinfo=utc)
  17. return reverse('calendar_week', kwargs={'year': date.isocalendar()[0],
  18. 'week': date.isocalendar()[1]})
  19. @register.inclusion_tag('calendarium/upcoming_events.html')
  20. def render_upcoming_events(event_amount=5):
  21. """Template tag to render a list of upcoming events."""
  22. return {'occurrences': Event.objects.get_occurrences(
  23. now(), now() + timedelta(days=100))[:event_amount]}