import requests import os def get_mb_id(artist_name, mb_confidence): artist_name = artist_name.strip('_') mb_url = f'https://musicbrainz.org/ws/2/artist?query=artist:"{artist_name}"&fmt=json' header = {'User-Agent': 'get_artist_art.py/1.0'} response = requests.get(mb_url, headers=header) if response.status_code == 200: mb_data = response.json() if mb_data['count'] > 0: if mb_data['artists'][0]['score'] > mb_confidence: return True, mb_data['artists'][0]['id'] else: print("No artist found of hight enough confidance.") else: print("No artist found.") return False, "" else: print(f"Error: {response.status_code}") return False, "" def get_image(mb_id, ftv_api_key, artist_path): ftv_api_url = f'https://webservice.fanart.tv/v3/music/{mb_id}?api_key={ftv_api_key}' response = requests.get(ftv_api_url) ftv_data =response.json() if not ('status' in ftv_data): if ('artistthumb' in ftv_data): art_url = ftv_data['artistthumb'][0]['url'] print(art_url) response = requests.get(art_url) if response.status_code == 200: with open(os.path.join(artist_path, 'artist.jpg'), 'wb') as f: f.write(response.content) elif ('hdmusiclogo' in ftv_data): art_url = ftv_data['hdmusiclogo'][0]['url'] response = requests.get(art_url) if response.status_code == 200: with open(os.path.join(artist_path, 'artist.png'), 'wb') as f: f.write(response.content) else: print("Error downloading: ", response.status_code) else: print("Thumb not found.") else: error_msg = ftv_data['error message'] print(f"Error: {error_msg}")