bookwyrm-mastodon/bookwyrm/views/discover.py

37 lines
1.3 KiB
Python
Raw Normal View History

2021-08-07 14:15:02 -04:00
""" What's up locally """
from django.contrib.auth.decorators import login_required
2021-08-07 15:33:45 -04:00
from django.core.paginator import Paginator
from django.db.models import Q
2021-08-07 14:15:02 -04:00
from django.template.response import TemplateResponse
from django.utils.decorators import method_decorator
from django.views import View
2021-08-07 15:33:45 -04:00
from bookwyrm import models
from bookwyrm.settings import PAGE_LENGTH
from .helpers import privacy_filter
2021-08-07 14:15:02 -04:00
# pylint: disable= no-self-use
@method_decorator(login_required, name="dispatch")
class Discover(View):
"""preview of recently reviewed books"""
def get(self, request):
"""tiled book activity page"""
2021-08-07 15:33:45 -04:00
activities = privacy_filter(
request.user,
models.Status.objects.select_subclasses().filter(
Q(comment__isnull=False)
| Q(review__isnull=False)
| Q(quotation__isnull=False),
user__local=True
),
#privacy_levels=["public"]
)
#paginated = Paginator(activities, PAGE_LENGTH)
2021-08-07 14:15:02 -04:00
data = {
2021-08-07 15:33:45 -04:00
"large": activities.filter(~Q(review__isnull=True, review__content=None))[:2],
"small": activities.filter(~Q(content=None))[:4],
2021-08-07 14:15:02 -04:00
}
2021-08-07 15:33:45 -04:00
return TemplateResponse(request, "discover/discover.html", data)