diff options
Diffstat (limited to 'youtube/playlist.py')
| -rw-r--r-- | youtube/playlist.py | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/youtube/playlist.py b/youtube/playlist.py index 3b784ba..e1e1342 100644 --- a/youtube/playlist.py +++ b/youtube/playlist.py @@ -20,7 +20,7 @@ def playlist_ctoken(playlist_id, offset, include_shorts=True): continuation_info = proto.string(3, proto.percent_b64encode(offset)) - playlist_id = proto.string(2, 'VL' + playlist_id) + playlist_id = proto.string(2, f'VL{playlist_id}') pointless_nest = proto.string(80226972, playlist_id + continuation_info) return base64.urlsafe_b64encode(pointless_nest).decode('ascii') @@ -30,7 +30,7 @@ def playlist_first_page(playlist_id, report_text="Retrieved playlist", use_mobile=False): # Use innertube API (pbj=1 no longer works for many playlists) key = 'AIzaSyAO_FJ2SlqU8Q4STEHLGCilw_Y9_11qcW8' - url = 'https://www.youtube.com/youtubei/v1/browse?key=' + key + url = f'https://www.youtube.com/youtubei/v1/browse?key={key}' data = { 'context': { @@ -41,7 +41,7 @@ def playlist_first_page(playlist_id, report_text="Retrieved playlist", 'clientVersion': '2.20240327.00.00', }, }, - 'browseId': 'VL' + playlist_id, + 'browseId': f'VL{playlist_id}', } content_type_header = (('Content-Type', 'application/json'),) @@ -58,7 +58,7 @@ def get_videos(playlist_id, page, include_shorts=True, use_mobile=False, page_size = 100 key = 'AIzaSyAO_FJ2SlqU8Q4STEHLGCilw_Y9_11qcW8' - url = 'https://www.youtube.com/youtubei/v1/browse?key=' + key + url = f'https://www.youtube.com/youtubei/v1/browse?key={key}' ctoken = playlist_ctoken(playlist_id, (int(page)-1)*page_size, include_shorts=include_shorts) @@ -97,7 +97,7 @@ def get_playlist_page(): if playlist_id.startswith('RD'): first_video_id = playlist_id[2:] # video ID after 'RD' prefix return flask.redirect( - util.URL_ORIGIN + '/watch?v=' + first_video_id + '&list=' + playlist_id, + f'{util.URL_ORIGIN}/watch?v={first_video_id}&list={playlist_id}', 302 ) @@ -132,9 +132,9 @@ def get_playlist_page(): if 'id' in item and not item.get('thumbnail'): item['thumbnail'] = f"{settings.img_prefix}https://i.ytimg.com/vi/{item['id']}/hqdefault.jpg" - item['url'] += '&list=' + playlist_id + item['url'] += f'&list={playlist_id}' if item['index']: - item['url'] += '&index=' + str(item['index']) + item['url'] += f'&index={item["index"]}' video_count = yt_data_extract.deep_get(info, 'metadata', 'video_count') if video_count is None: |
