From 1e8711be51f867a447287259f023d6a66010ca03 Mon Sep 17 00:00:00 2001 From: meeb Date: Fri, 19 Feb 2021 14:37:56 +1100 Subject: [PATCH] add media items downloaded counter to sources list overview --- tubesync/sync/templates/sync/sources.html | 2 +- tubesync/sync/views.py | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/tubesync/sync/templates/sync/sources.html b/tubesync/sync/templates/sync/sources.html index ae73679..d00a567 100644 --- a/tubesync/sync/templates/sync/sources.html +++ b/tubesync/sync/templates/sync/sources.html @@ -30,7 +30,7 @@ {% if source.has_failed %} Source has permanent failures {% else %} - {{ source.media_count }} media items{% if source.delete_old_media and source.days_to_keep > 0 %}, keep {{ source.days_to_keep }} days of media{% endif %} + {{ source.media_count }} media items, {{ source.downloaded_count }} downloaded{% if source.delete_old_media and source.days_to_keep > 0 %}, keeping {{ source.days_to_keep }} days of media{% endif %} {% endif %} {% empty %} diff --git a/tubesync/sync/views.py b/tubesync/sync/views.py index c0d5a89..0aae807 100644 --- a/tubesync/sync/views.py +++ b/tubesync/sync/views.py @@ -10,7 +10,7 @@ from django.views.generic.detail import SingleObjectMixin from django.http import HttpResponse from django.urls import reverse_lazy from django.db import IntegrityError -from django.db.models import Q, Count, Sum +from django.db.models import Q, Count, Sum, When, Case from django.forms import ValidationError from django.utils.text import slugify from django.utils import timezone @@ -104,7 +104,10 @@ class SourcesView(ListView): def get_queryset(self): all_sources = Source.objects.all().order_by('name') - return all_sources.annotate(media_count=Count('media_source')) + return all_sources.annotate( + media_count=Count('media_source'), + downloaded_count=Count(Case(When(media_source__downloaded=True, then=1))) + ) def get_context_data(self, *args, **kwargs): data = super().get_context_data(*args, **kwargs)