X-Git-Url: https://git.mdrn.pl/audio.git/blobdiff_plain/cf1c5c7118e320bdd5b9fa6dcef8585ba117ebb6..ff4fa4a4ae20cfb529d495f335cce477ada7f6a1:/src/youtube/management/commands/youtube.py diff --git a/src/youtube/management/commands/youtube.py b/src/youtube/management/commands/youtube.py new file mode 100644 index 0000000..4a8dfb5 --- /dev/null +++ b/src/youtube/management/commands/youtube.py @@ -0,0 +1,21 @@ +from django.core.management.base import BaseCommand +from archive.constants import status +from archive.models import Audiobook +from youtube import tasks + + +class Command(BaseCommand): + help = "Schedules some audiobooks for uploading to YouTube." + + def add_arguments(self, parser): + 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( + None, audiobook.id, True + ).task_id + audiobook.youtube_status = status.WAITING + audiobook.save(update_fields=["youtube_task", "youtube_status"])