Fixes from testing for wait_for_media_premiere

This commit is contained in:
tcely authored and GitHub committed 2025-02-03 11:33:56 -05:00
1 parent b50477e536
commit bf0dcc631a
1 file changed
+9 -5
+9 -5
View File
@@ -317,13 +317,16 @@ def download_media_metadata(media_id):
metadata = media.index_metadata() metadata = media.index_metadata()
except YouTubeError as e: except YouTubeError as e:
e_str = str(e) e_str = str(e)
log_exception = True
if ': Premieres in ' in e_str: if ': Premieres in ' in e_str:
now = timezone.now() now = timezone.now()
published_datetime = None published_datetime = None
parts = e_str.rsplit(' ', 2) parts = e_str.split(': ', 1)[1].rsplit(' ', 2)
unit = lambda p: str(p)[-1].lower() unit = lambda p: str(p[-1]).lower()
number = lambda p: int(str(p)[-2], base=10) number = lambda p: int(str(p[-2]), base=10)
log.debug(parts)
log.debug(unit(parts))
try: try:
if 'minutes' == unit(parts): if 'minutes' == unit(parts):
published_datetime = now + timedelta(minutes=number(parts)) published_datetime = now + timedelta(minutes=number(parts))
@@ -339,16 +342,17 @@ def download_media_metadata(media_id):
media.published = published_datetime media.published = published_datetime
media.manual_skip = True media.manual_skip = True
media.save() media.save()
verbose_name = _('Waiting for the premiere of "{}" at: {published_datetime}') verbose_name = _('Waiting for the premiere of "{}" at: {}')
wait_for_media_premiere( wait_for_media_premiere(
str(media.pk), str(media.pk),
priority=0, priority=0,
queue=str(media.pk), queue=str(media.pk),
repeat=Task.HOURLY, repeat=Task.HOURLY,
repeat_until = published_datetime + timedelta(hours=2), repeat_until = published_datetime + timedelta(hours=2),
verbose_name=verbose_name.format(media.key), verbose_name=verbose_name.format(media.key, published_datetime),
remove_existing_tasks=True, remove_existing_tasks=True,
) )
if log_exception:
log.exception(e) log.exception(e)
log.debug(str(e)) log.debug(str(e))
return return