mirror of
https://github.com/bookwyrm-social/bookwyrm.git
synced 2024-11-12 11:52:30 +00:00
Move stream filter to helpers
This commit is contained in:
parent
40e4591a24
commit
2ad37a22dd
2 changed files with 28 additions and 27 deletions
|
@ -14,7 +14,7 @@ from bookwyrm.models.user import FeedFilterChoices
|
||||||
from bookwyrm.activitypub import ActivitypubResponse
|
from bookwyrm.activitypub import ActivitypubResponse
|
||||||
from bookwyrm.settings import PAGE_LENGTH, STREAMS
|
from bookwyrm.settings import PAGE_LENGTH, STREAMS
|
||||||
from bookwyrm.suggested_users import suggested_users
|
from bookwyrm.suggested_users import suggested_users
|
||||||
from .helpers import get_user_from_username
|
from .helpers import filter_stream_by_status_type, get_user_from_username
|
||||||
from .helpers import is_api_request, is_bookwyrm_request
|
from .helpers import is_api_request, is_bookwyrm_request
|
||||||
|
|
||||||
|
|
||||||
|
@ -247,29 +247,3 @@ def get_suggested_books(user, max_books=5):
|
||||||
suggested_books.append(shelf_preview)
|
suggested_books.append(shelf_preview)
|
||||||
book_count += len(shelf_preview["books"])
|
book_count += len(shelf_preview["books"])
|
||||||
return suggested_books
|
return suggested_books
|
||||||
|
|
||||||
|
|
||||||
def filter_stream_by_status_type(activities, allowed_types=None):
|
|
||||||
"""filter out activities based on types"""
|
|
||||||
if not allowed_types:
|
|
||||||
allowed_types = []
|
|
||||||
|
|
||||||
if "review" not in allowed_types:
|
|
||||||
activities = activities.filter(
|
|
||||||
Q(review__isnull=True) | Q(boost__boosted_status__review__isnull=True)
|
|
||||||
)
|
|
||||||
if "comment" not in allowed_types:
|
|
||||||
activities = activities.filter(
|
|
||||||
Q(comment__isnull=True) | Q(boost__boosted_status__comment__isnull=True)
|
|
||||||
)
|
|
||||||
if "quotation" not in allowed_types:
|
|
||||||
activities = activities.filter(
|
|
||||||
Q(quotation__isnull=True) | Q(boost__boosted_status__quotation__isnull=True)
|
|
||||||
)
|
|
||||||
if "everything" not in allowed_types:
|
|
||||||
activities = activities.filter(
|
|
||||||
Q(generatednote__isnull=True)
|
|
||||||
| Q(boost__boosted_status__generatednote__isnull=True)
|
|
||||||
)
|
|
||||||
|
|
||||||
return activities
|
|
||||||
|
|
|
@ -6,6 +6,7 @@ import dateutil.tz
|
||||||
from dateutil.parser import ParserError
|
from dateutil.parser import ParserError
|
||||||
|
|
||||||
from requests import HTTPError
|
from requests import HTTPError
|
||||||
|
from django.db.models import Q
|
||||||
from django.http import Http404
|
from django.http import Http404
|
||||||
from django.utils import translation
|
from django.utils import translation
|
||||||
|
|
||||||
|
@ -153,3 +154,29 @@ def set_language(user, response):
|
||||||
translation.activate(user.preferred_language)
|
translation.activate(user.preferred_language)
|
||||||
response.set_cookie(settings.LANGUAGE_COOKIE_NAME, user.preferred_language)
|
response.set_cookie(settings.LANGUAGE_COOKIE_NAME, user.preferred_language)
|
||||||
return response
|
return response
|
||||||
|
|
||||||
|
|
||||||
|
def filter_stream_by_status_type(activities, allowed_types=None):
|
||||||
|
"""filter out activities based on types"""
|
||||||
|
if not allowed_types:
|
||||||
|
allowed_types = []
|
||||||
|
|
||||||
|
if "review" not in allowed_types:
|
||||||
|
activities = activities.filter(
|
||||||
|
Q(review__isnull=True), Q(boost__boosted_status__review__isnull=True)
|
||||||
|
)
|
||||||
|
if "comment" not in allowed_types:
|
||||||
|
activities = activities.filter(
|
||||||
|
Q(comment__isnull=True), Q(boost__boosted_status__comment__isnull=True)
|
||||||
|
)
|
||||||
|
if "quotation" not in allowed_types:
|
||||||
|
activities = activities.filter(
|
||||||
|
Q(quotation__isnull=True), Q(boost__boosted_status__quotation__isnull=True)
|
||||||
|
)
|
||||||
|
if "everything" not in allowed_types:
|
||||||
|
activities = activities.filter(
|
||||||
|
Q(generatednote__isnull=True),
|
||||||
|
Q(boost__boosted_status__generatednote__isnull=True),
|
||||||
|
)
|
||||||
|
|
||||||
|
return activities
|
||||||
|
|
Loading…
Reference in a new issue