diff options
-rw-r--r-- | yt_dlp_plugins/extractor/radiko.py | 4 | ||||
-rwxr-xr-x | yt_dlp_plugins/extractor/radiko_time.py | 11 |
2 files changed, 13 insertions, 2 deletions
diff --git a/yt_dlp_plugins/extractor/radiko.py b/yt_dlp_plugins/extractor/radiko.py index caaa020..d12f203 100644 --- a/yt_dlp_plugins/extractor/radiko.py +++ b/yt_dlp_plugins/extractor/radiko.py @@ -493,7 +493,7 @@ class RadikoTimeFreeIE(_RadikoBaseIE): end = times[1] now = datetime.datetime.now(tz=rtime.JST) - if end.broadcast_day_end() < now - datetime.timedelta(days=7): + if end.expiry(False) < now: self.raise_no_formats("Programme is no longer available.", video_id=meta["id"], expected=True) elif start > now: self.raise_no_formats("Programme has not aired yet.", video_id=meta["id"], expected=True) @@ -701,7 +701,7 @@ class RadikoPersonIE(InfoExtractor): now = rtime.RadikoTime.now(tz=rtime.JST) - min_start = (now - datetime.timedelta(days=7)).broadcast_day_start() + min_start = rtime.earliest_available(False) # we set the earliest time as the earliest we can get, # so, the start of the broadcast day 1 week ago # that way we can get everything we can actually download, including stuff that aired at eg "26:00" diff --git a/yt_dlp_plugins/extractor/radiko_time.py b/yt_dlp_plugins/extractor/radiko_time.py index 4d51ce5..b383098 100755 --- a/yt_dlp_plugins/extractor/radiko_time.py +++ b/yt_dlp_plugins/extractor/radiko_time.py @@ -36,6 +36,17 @@ class RadikoTime(datetime.datetime): dt = datetime.datetime(date.year, date.month, date.day, 5, 0, 0, tzinfo=JST) return dt + def expiry(self, tf30): + available_days = 30 if tf30 else 7 + return self.broadcast_day_end() + datetime.timedelta(days=available_days) + # IF SOMETHING CHANGES HERE YOU NEED TO UPDATE ↓↓earliest_available↓↓ AS WELL! + + +def earliest_available(tf30): + available_days = 30 if tf30 else 7 + return (RadikoTime.now(tz=JST) - datetime.timedelta(days=available_days)).broadcast_day_start() + # IF SOMETHING CHANGES HERE YOU NEED TO UPDATE ↑↑expiry↑↑ AS WELL! + class RadikoSiteTime(RadikoTime): |