diff --git a/vrobbler/apps/scrobbles/views.py b/vrobbler/apps/scrobbles/views.py index 0717033..a89df19 100644 --- a/vrobbler/apps/scrobbles/views.py +++ b/vrobbler/apps/scrobbles/views.py @@ -63,10 +63,23 @@ logger = logging.getLogger(__name__) class RecentScrobbleList(ListView): model = Scrobble + def get(self, *args, **kwargs): + user = self.request.user + if user.is_authenticated: + if scrobble_url := self.request.GET.get("scrobble_url"): + scrobble = manual_scrobble_webpage(scrobble_url, self.request.user.id) + if self.request.user.profile.redirect_to_webpage: + logger.info(f"Redirecting to {scrobble.media_obj} detail page") + return HttpResponseRedirect(scrobble.media_obj.get_absolute_url()) + else: + return HttpResponseRedirect(reverse_lazy("vrobbler-home")) + return super().get(*args, **kwargs) + def get_context_data(self, **kwargs): data = super().get_context_data(**kwargs) user = self.request.user if user.is_authenticated: + completed_for_user = Scrobble.objects.filter( played_to_completion=True, user=user ) diff --git a/vrobbler/apps/webpages/models.py b/vrobbler/apps/webpages/models.py index 1e67918..8ae65fa 100644 --- a/vrobbler/apps/webpages/models.py +++ b/vrobbler/apps/webpages/models.py @@ -176,9 +176,8 @@ class WebPage(ScrobblableMixin): if not self.extract or force: self.extract = trafilatura.extract( raw_text, - include_links=True, + include_links=False, include_comments=False, - output_format="html", ) if not self.title or force: