get_artist_art/get_artist_art.py

50 lines
1.7 KiB
Python
Executable File

#!/usr/bin/env python3
import argparse
import os
from time import sleep
import dir_activities
import api_calls
from prog_conf import gaa_conf
gaa_version = "2024.10.15.2"
option_set = argparse.ArgumentParser(description=f"An automatic downloader of artist art using MusicBrainz and Fanart.TV.\nVersion: {gaa_version}")
jls_extract_var = f'%(prog)s {gaa_version}'
option_set.add_argument('--version', '-v', action='version', version=jls_extract_var)
cmd_options = option_set.parse_args()
config = gaa_conf().conf
music_path = config['music']['dir']
ftv_api_key = config['fanart_tv']['api_key']
mb_confidence = int(config['musicbrainz']['confidence'])
count = 1
dir_list = dir_activities.get_all(music_path)
dir_list.sort()
for artist in dir_list:
artist_path = os.path.join(music_path, artist)
if (not(dir_activities.has_artist_art(artist_path))):
# print(dir_activities.has_artist_art(artist_path))
print(str(count) + ": " + artist.strip('_'))
try:
ftv_response = False
mb_exit = False
while not mb_exit:
found_status, mb_id, mb_exit = api_calls.get_mb_id(artist, mb_confidence)
# print("Getting ", artist_image)
if found_status:
while not ftv_response:
ftv_response = api_calls.get_image(mb_id, ftv_api_key, artist_path)
print(ftv_response)
else:
print(f"{artist} returned no results.")
# api_requests.get_art(artist_image, artist, music_path)
except Exception as e:
print("Artist or art not found.")
print(e)
print("---------")
count += 1
#sleep(1)