Off by one error.
[audio.git] / src / youtube / management / commands / youtube.py
index 4a8dfb5..c480830 100644 (file)
@@ -11,11 +11,13 @@ class Command(BaseCommand):
         parser.add_argument("--limit", type=int, default=6)
 
     def handle(self, *args, **options):
-        for audiobook in Audiobook.objects.exclude(youtube_queued=None).order_by(
-            "youtube_queued"
-        )[: options["limit"]]:
-            audiobook.youtube_task = tasks.YouTubeTask.delay(
+        for audiobook in (
+            Audiobook.objects.filter(youtube_status=status.QUEUED)
+            .exclude(youtube_queued=None)
+            .order_by("youtube_queued")[: options["limit"]]
+        ):
+            tasks.YouTubeTask.delay(
                 None, audiobook.id, True
             ).task_id
             audiobook.youtube_status = status.WAITING
-            audiobook.save(update_fields=["youtube_task", "youtube_status"])
+            audiobook.save(update_fields=["youtube_status"])