Minor view changes.
[audio.git] / src / archive / views.py
index 1d4341e..0b5a5ac 100644 (file)
@@ -157,20 +157,9 @@ def move_to_new(request, filename):
 def publish(request, aid, publish=True):
     """ mark file for publishing """
     audiobook = get_object_or_404(models.Audiobook, id=aid)
-    tags = {
-        'name': audiobook.title,
-        'url': audiobook.url,
-        'tags': audiobook.new_publish_tags(),
-        }
-    audiobook.set_mp3_tags(tags)
-    audiobook.set_ogg_tags(tags)
-    audiobook.mp3_status = audiobook.ogg_status = status.WAITING
-    audiobook.save()
-    # isn't there a race here?
-    audiobook.mp3_task = tasks.Mp3Task.delay(request.user.id, aid, publish).task_id
-    audiobook.ogg_task = tasks.OggTask.delay(request.user.id, aid, publish).task_id
-    audiobook.save()
-
+    audiobook.prepare_for_publish()
+    if publish:
+        audiobook.publish(request.user)
     return redirect(file_managed, aid)
 
 
@@ -303,11 +292,17 @@ class BookView(ListView):
             "index"
         )
         last_vol = None
+        last_vol_sub = None
         for b in qs:
-            if last_vol is None or last_vol.youtube_volume != b.youtube_volume:
+            if last_vol is None or last_vol.youtube_volume_index != b.youtube_volume_index:
                 last_vol = b
                 b.total = 0
+                if last_vol_sub is None or b.youtube_volume:
+                    last_vol_sub = last_vol
+                    last_vol_sub.total_for_sub = 0
             last_vol.total += b.duration
+            last_vol_sub.total_for_sub += b.duration
+            b.subtotal = last_vol_sub.total_for_sub
         return list(qs)