mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2025-01-30 17:14:03 +01:00
exception handling, date validation
This commit is contained in:
parent
9582ee1522
commit
b88338e785
|
@ -1,4 +1,5 @@
|
||||||
import base64
|
import base64
|
||||||
|
import datetime as dt
|
||||||
import json
|
import json
|
||||||
|
|
||||||
from .common import InfoExtractor
|
from .common import InfoExtractor
|
||||||
|
@ -83,14 +84,18 @@ def _perform_login(self, username, password):
|
||||||
|
|
||||||
def _get_info(self, program, program_id, metadata):
|
def _get_info(self, program, program_id, metadata):
|
||||||
m3u8 = program['streaming_url']
|
m3u8 = program['streaming_url']
|
||||||
rd = self._search_regex(rf'{program_id}(\d{{6}})', m3u8, 'release_date', default=None)
|
|
||||||
display_id = base64.b64encode(str(program['id']).encode()).decode()
|
display_id = base64.b64encode(str(program['id']).encode()).decode()
|
||||||
|
if ud := self._search_regex(rf'{program_id}0?(\d{{6}})', m3u8, 'upload_date', default=None):
|
||||||
|
try:
|
||||||
|
ud = dt.datetime.strptime(f'20{ud}', '%Y%m%d').strftime('%Y%m%d')
|
||||||
|
except ValueError:
|
||||||
|
ud = None
|
||||||
|
|
||||||
return {
|
return {
|
||||||
'display_id': display_id,
|
'display_id': display_id,
|
||||||
'formats': self._extract_m3u8_formats(m3u8, program_id, headers=self._HEADERS),
|
'formats': self._extract_m3u8_formats(m3u8, program_id, headers=self._HEADERS),
|
||||||
'http_headers': self._HEADERS,
|
'http_headers': self._HEADERS,
|
||||||
'upload_date': f'20{rd}' if rd else None,
|
'upload_date': ud,
|
||||||
'webpage_url': f'{self._BASE_URL}program/{program_id}?c={display_id}',
|
'webpage_url': f'{self._BASE_URL}program/{program_id}?c={display_id}',
|
||||||
**metadata,
|
**metadata,
|
||||||
**traverse_obj(program, {
|
**traverse_obj(program, {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user