kopia lustrzana https://github.com/Michael-K-Stein/SpotiFile
Fix category downloading to embrace errors
rodzic
b2713b3c4a
commit
8c5d5f866f
|
@ -6,6 +6,7 @@ from config import *
|
|||
import base64
|
||||
from time import sleep
|
||||
from datetime import datetime
|
||||
import random
|
||||
|
||||
client = SpotifyClient(sp_key=SP_KEY, sp_dc=SP_DC)
|
||||
client.get_me()
|
||||
|
@ -147,12 +148,19 @@ def full_download(download_dir: str, identifier: str, recursive_artist: bool=Fal
|
|||
def download_all_categories_playlists(download_meta_data_only=True):
|
||||
client.refresh_tokens()
|
||||
os.makedirs(f'{DEFAULT_DOWNLOAD_DIRECTORY}/{PLAYLIST_METADATA_SUB_DIR}/', exist_ok=True)
|
||||
console.log(f'Scraping playlists from all categories')
|
||||
category_ids = scraper.get_categories_ids()
|
||||
for category_id in category_ids:
|
||||
random.shuffle(category_ids)
|
||||
for category_index, category_id in enumerate(category_ids):
|
||||
console.log(f'Scraping playlists from category {category_id} ({category_index + 1}/{len(category_ids)})')
|
||||
playlist_ids = scraper.get_category_playlist_ids(category_id)
|
||||
for playlist_id in playlist_ids:
|
||||
playlist = scraper.get_playlist(playlist_id)
|
||||
with open(f'{DEFAULT_DOWNLOAD_DIRECTORY}/{PLAYLIST_METADATA_SUB_DIR}/{playlist.spotify_id}.playlist', 'w') as f:
|
||||
f.write(playlist.export())
|
||||
if not download_meta_data_only:
|
||||
full_download(f'{DEFAULT_DOWNLOAD_DIRECTORY}', identifier=playlist.href)
|
||||
for playlist_index, playlist_id in enumerate(playlist_ids):
|
||||
console.log(f'Scraping playlist data from playlist {playlist_id} ({playlist_index + 1}/{len(playlist_ids)}) from category {category_id} ({category_index + 1}/{len(category_ids)})')
|
||||
try:
|
||||
playlist = scraper.get_playlist(playlist_id)
|
||||
with open(f'{DEFAULT_DOWNLOAD_DIRECTORY}/{PLAYLIST_METADATA_SUB_DIR}/{playlist.spotify_id}.playlist', 'w') as f:
|
||||
f.write(playlist.export())
|
||||
if not download_meta_data_only:
|
||||
full_download(f'{DEFAULT_DOWNLOAD_DIRECTORY}', identifier=playlist.href)
|
||||
except Exception as ex:
|
||||
console.error(f'Scraping categories exception: {ex}')
|
||||
|
|
Ładowanie…
Reference in New Issue