From 1a4d5a8854ec1d28af13d653255dfcc12aad7608 Mon Sep 17 00:00:00 2001
From: Radek Czajka <rczajka@rczajka.pl>
Date: Fri, 22 May 2020 11:14:33 +0200
Subject: [PATCH] Show YouTube publishing status.

---
 .../templates/archive/list_publishing.html        |  3 +++
 src/archive/views.py                              | 15 +++++++++------
 2 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/src/archive/templates/archive/list_publishing.html b/src/archive/templates/archive/list_publishing.html
index 3cccbaa..83d631d 100644
--- a/src/archive/templates/archive/list_publishing.html
+++ b/src/archive/templates/archive/list_publishing.html
@@ -21,6 +21,9 @@
           <td class="text-warning">
             {% if file.ogg_status == k.0 %}Ogg{% endif %}
           </td>
+          <td class="text-warning">
+            {% if file.youtube_status == k.0 %}YouTube{% endif %}
+          </td>
         </tr>
       {% endfor %}
     </table>
diff --git a/src/archive/views.py b/src/archive/views.py
index 3da6bb4..62a1216 100644
--- a/src/archive/views.py
+++ b/src/archive/views.py
@@ -219,15 +219,18 @@ def list_unpublished(request):
 def list_publishing(request):
     division = 'publishing'
 
-    objects = models.Audiobook.objects.exclude(mp3_status=None, ogg_status=None)
+    objects = models.Audiobook.objects.exclude(mp3_status=None, ogg_status=None, youtube_status=None)
     objects_by_status = {}
     for o in objects:
+        statuses = set()
         if o.mp3_status:
-            k = o.mp3_status, o.get_mp3_status_display()
-            objects_by_status.setdefault(k, []).append(o)
-        if o.ogg_status and o.ogg_status != o.mp3_status:
-            k = o.ogg_status, o.get_ogg_status_display()
-            objects_by_status.setdefault(k, []).append(o)
+            statuses.add((o.mp3_status, o.get_mp3_status_display()))
+        if o.ogg_status:
+            statuses.add((o.ogg_status, o.get_ogg_status_display()))
+        if o.youtube_status:
+            statuses.add((o.youtube_status, o.get_youtube_status_display()))
+        for status in statuses:
+            objects_by_status.setdefault(status, []).append(o)
     status_objects = sorted(objects_by_status.items(), reverse=True)
 
     return render(request, "archive/list_publishing.html", locals())
-- 
2.20.1