image_gallery.templatetags.image_gallery_tags: 14 total statements, 100.0% covered

Generated: Wed 2013-06-12 20:11 CEST

Source file: /home/dkaufhold/projects/cmsplugin-image-gallery/src/image_gallery/templatetags/image_gallery_tags.py

Stats: 11 executed, 0 missed, 3 excluded, 12 ignored

  1. """Template tags for the ``image_gallery`` app."""
  2. from django import template
  3. from filer.models import Image
  4. from image_gallery.models import Gallery
  5. register = template.Library()
  6. @register.inclusion_tag('image_gallery/pictures.html', takes_context=True)
  7. def render_pictures(context, selection='recent', amount=3):
  8. """Template tag to render a list of pictures."""
  9. folder_pks = [gallery.folder.pk for gallery in Gallery.objects.all()]
  10. pictures = Image.objects.filter(folder__id__in=folder_pks)
  11. if selection == 'recent':
  12. context.update({
  13. 'pictures': pictures.order_by('-uploaded_at')[:amount]
  14. })
  15. elif selection == 'random':
  16. context.update({
  17. 'pictures': pictures.order_by('?')[:amount]
  18. })
  19. else:
  20. return None
  21. return context