From 485b565a3fb43f5529a9a6a2a26510daa69905ba Mon Sep 17 00:00:00 2001 From: 20xd6 <20xd6@airmail.cc> Date: Sun, 13 Oct 2024 17:38:03 -0400 Subject: [PATCH] Replace working code in empty file. api_calls.py had been emptied for some reason. Probably an acidential deletion. The old code has now been placed in the file. --- api_calls.py | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/api_calls.py b/api_calls.py index e69de29..aa1bcbd 100644 --- a/api_calls.py +++ b/api_calls.py @@ -0,0 +1,47 @@ +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}") \ No newline at end of file