]> jfr.im git - yt-dlp.git/blobdiff - yt_dlp/extractor/joqrag.py
[ie/tiktok] Restore `carrier_region` API parameter (#9637)
[yt-dlp.git] / yt_dlp / extractor / joqrag.py
index 3bb28af94e1251af47c3bd08d0c225aaec1c3de1..7a91d4a235506ac0acd3910d27a10f6e4d35c868 100644 (file)
@@ -1,4 +1,4 @@
-import datetime
+import datetime as dt
 import urllib.parse
 
 from .common import InfoExtractor
@@ -50,8 +50,8 @@ def _extract_metadata(self, variable, html):
 
     def _extract_start_timestamp(self, video_id, is_live):
         def extract_start_time_from(date_str):
-            dt = datetime_from_str(date_str) + datetime.timedelta(hours=9)
-            date = dt.strftime('%Y%m%d')
+            dt_ = datetime_from_str(date_str) + dt.timedelta(hours=9)
+            date = dt_.strftime('%Y%m%d')
             start_time = self._search_regex(
                 r'<h3[^>]+\bclass="dailyProgram-itemHeaderTime"[^>]*>[\s\d:]+–\s*(\d{1,2}:\d{1,2})',
                 self._download_webpage(
@@ -60,7 +60,7 @@ def extract_start_time_from(date_str):
                     errnote=f'Failed to download program list of {date}') or '',
                 'start time', default=None)
             if start_time:
-                return unified_timestamp(f'{dt.strftime("%Y/%m/%d")} {start_time} +09:00')
+                return unified_timestamp(f'{dt_.strftime("%Y/%m/%d")} {start_time} +09:00')
             return None
 
         start_timestamp = extract_start_time_from('today')
@@ -80,14 +80,14 @@ def _real_extract(self, url):
             note='Downloading metadata', errnote='Failed to download metadata')
         title = self._extract_metadata('Program_name', metadata)
 
-        if title == '放送休止':
+        if not title or title == '放送休止':
             formats = []
             live_status = 'is_upcoming'
             release_timestamp = self._extract_start_timestamp(video_id, False)
             msg = 'This stream is not currently live'
             if release_timestamp:
                 msg += (' and will start at '
-                        + datetime.datetime.fromtimestamp(release_timestamp).strftime('%Y-%m-%d %H:%M:%S'))
+                        + dt.datetime.fromtimestamp(release_timestamp).strftime('%Y-%m-%d %H:%M:%S'))
             self.raise_no_formats(msg, expected=True)
         else:
             m3u8_path = self._search_regex(