aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--yt_dlp/extractor/afreecatv.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/yt_dlp/extractor/afreecatv.py b/yt_dlp/extractor/afreecatv.py
index d45bcb762..063872b4f 100644
--- a/yt_dlp/extractor/afreecatv.py
+++ b/yt_dlp/extractor/afreecatv.py
@@ -6,9 +6,11 @@ import re
from .common import InfoExtractor
from ..compat import compat_xpath
from ..utils import (
+ date_from_str,
determine_ext,
ExtractorError,
int_or_none,
+ unified_strdate,
url_or_none,
urlencode_postdata,
xpath_text,
@@ -315,8 +317,15 @@ class AfreecaTVIE(InfoExtractor):
if not file_url:
continue
key = file_element.get('key', '')
- upload_date = self._search_regex(
- r'^(\d{8})_', key, 'upload date', default=None)
+ upload_date = unified_strdate(self._search_regex(
+ r'^(\d{8})_', key, 'upload date', default=None))
+ if upload_date is not None:
+ # sometimes the upload date isn't included in the file name
+ # instead, another random ID is, which may parse as a valid
+ # date but be wildly out of a reasonable range
+ parsed_date = date_from_str(upload_date)
+ if parsed_date.year < 2000 or parsed_date.year >= 2100:
+ upload_date = None
file_duration = int_or_none(file_element.get('duration'))
format_id = key if key else '%s_%s' % (video_id, file_num)
if determine_ext(file_url) == 'm3u8':