from django.core.cache import get_cache
 from django.template import RequestContext
 from django.template.loader import render_to_string
 from django.core.cache import get_cache
 from django.template import RequestContext
 from django.template.loader import render_to_string
 from django.http import HttpResponse, HttpResponseRedirect, Http404, HttpResponsePermanentRedirect
 from django.core.urlresolvers import reverse
 from django.db.models import Q
 from django.http import HttpResponse, HttpResponseRedirect, Http404, HttpResponsePermanentRedirect
 from django.core.urlresolvers import reverse
 from django.db.models import Q
 from suggest.forms import PublishingSuggestForm
 from picture.models import Picture, PictureArea
 from picture.views import picture_list_thumb
 from suggest.forms import PublishingSuggestForm
 from picture.models import Picture, PictureArea
 from picture.views import picture_list_thumb
 staff_required = user_passes_test(lambda user: user.is_staff)
 permanent_cache = get_cache('permanent')
 
 
 @vary_on_headers('X-Requested-With')
 def catalogue(request):
 staff_required = user_passes_test(lambda user: user.is_staff)
 permanent_cache = get_cache('permanent')
 
 
 @vary_on_headers('X-Requested-With')
 def catalogue(request):
 
         render_tag_list = lambda x: render_to_string(
             'catalogue/tag_list.html', tag_list(x))
 
         render_tag_list = lambda x: render_to_string(
             'catalogue/tag_list.html', tag_list(x))
-        has_pictures = lambda x: filter(lambda y: y.picture_count>0, x)
-        has_books = lambda x: filter(lambda y: y.book_count>0, x)
+        has_pictures = lambda x: filter(lambda y: y.picture_count > 0, x)
+        has_books = lambda x: filter(lambda y: y.book_count > 0, x)
         output['collections'] = render_to_string(
             'catalogue/collection_list.html', collection_list(collections))
         permanent_cache.set(cache_key, output)
         output['collections'] = render_to_string(
             'catalogue/collection_list.html', collection_list(collections))
         permanent_cache.set(cache_key, output)
         if area_keys:
             related_tags = PictureArea.tags.usage(counts=True,
                                                          filters={'pk__in': area_keys})
         if area_keys:
             related_tags = PictureArea.tags.usage(counts=True,
                                                          filters={'pk__in': area_keys})
             categories = split_tags(related_tags, categories)
 
         # we want the Pictures to go first
             categories = split_tags(related_tags, categories)
 
         # we want the Pictures to go first
             books = models.Book.tagged_top_level(tags).order_by('sort_key_author')
 
         pictures = Picture.tagged.with_all(tags).order_by('sort_key_author')
             books = models.Book.tagged_top_level(tags).order_by('sort_key_author')
 
         pictures = Picture.tagged.with_all(tags).order_by('sort_key_author')
     book_titles = set(match.pretty_title().lower() for match in result
                       if isinstance(match, models.Book))
     authors = set(match.name.lower() for match in result
     book_titles = set(match.pretty_title().lower() for match in result
                       if isinstance(match, models.Book))
     authors = set(match.name.lower() for match in result
     result = tuple(res for res in result if not (
                  (isinstance(res, pdcounter_models.BookStub) and res.pretty_title().lower() in book_titles)
                  or (isinstance(res, pdcounter_models.Author) and res.name.lower() in authors)
     result = tuple(res for res in result if not (
                  (isinstance(res, pdcounter_models.BookStub) and res.pretty_title().lower() in book_titles)
                  or (isinstance(res, pdcounter_models.Author) and res.name.lower() in authors)