from config import * import requests import json # def lidarr_api_add_artist(mbid): # lookup_url = f"{LIDARR_URL}/api/v1/artist/lookup?term=mbid:{mbid}" # headers = {"X-Api-Key": LIDARR_API_KEY, "Content-Type": "application/json"} # res = requests.get(lookup_url, headers=headers) # if not res.ok or not res.json(): # return False # artist = res.json()[0] # payload = { # "foreignArtistId": artist['foreignArtistId'], # "artistName": artist['artistName'], # "monitored": True, # "qualityProfileId": QUALITY_PROFILE_ID, # "metadataProfileId": 1, # "rootFolderPath": ROOT_FOLDER, # "addOptions": { # "monitor": "all", # "searchForMissingAlbums": True # } # } # add_url = f"{LIDARR_URL}/api/v1/artist" # post_res = requests.post(add_url, headers=headers, json=payload) # return post_res.ok import requests import json from config import * def lidarr_api_add_artist(mbid): lookup_url = f"{LIDARR_URL}/api/v1/artist/lookup?term=mbid:{mbid}" headers = {"X-Api-Key": LIDARR_API_KEY, "Content-Type": "application/json"} try: res = requests.get(lookup_url, headers=headers) res.raise_for_status() artists = res.json() if not artists: print(f"[LIDARR DEBUG] Ingen artist hittades för MBID {mbid}") return False artist = artists[0] print(f"[LIDARR DEBUG] Artist hittad: {artist['artistName']} (MBID: {mbid})") # Bygg payload från lookup-objektet payload = artist.copy() payload.update({ "monitored": True, "qualityProfileId": QUALITY_PROFILE_ID, "metadataProfileId": 1, "rootFolderPath": ROOT_FOLDER_PATH, "addOptions": { "monitor": "all", # Bevakning av alla album "searchForMissingAlbums": True } }) add_url = f"{LIDARR_URL}/api/v1/artist" print(f"[LIDARR DEBUG] Payload: {json.dumps(payload, indent=2)}") post_res = requests.post(add_url, headers=headers, json=payload) post_res.raise_for_status() print(f"[LIDARR DEBUG] Lyckades lägga till: {artist['artistName']}") return True except requests.exceptions.HTTPError as http_err: print(f"[LIDARR ERROR] HTTP-fel vid tillägg av MBID {mbid}: {http_err}") if http_err.response is not None: print(f"[LIDARR ERROR] Svar från servern: {http_err.response.text}") return False except Exception as e: print(f"[LIDARR ERROR] Annat fel vid tillägg av MBID {mbid}: {e}") return False