moved some hard-coded stuff to config
This commit is contained in:
parent
40a0e680dd
commit
615a732c2b
2 changed files with 69 additions and 109 deletions
|
|
@ -1,111 +1,51 @@
|
|||
from config import *
|
||||
|
||||
import requests
|
||||
import json
|
||||
# import requests
|
||||
# import json
|
||||
# from config import *
|
||||
from config import (
|
||||
LIDARR_URL,
|
||||
LIDARR_API_KEY,
|
||||
ROOT_FOLDER_PATH,
|
||||
QUALITY_PROFILE_ID,
|
||||
MONITORED,
|
||||
MONITOR_NEW_ITEMS,
|
||||
SEARCH_FOR_MISSING_ALBUMS,
|
||||
DEBUG_PRINT,
|
||||
)
|
||||
|
||||
# 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"}
|
||||
def lidarr_add_artist(artist):
|
||||
payload = {
|
||||
"artistName": artist["artistName"],
|
||||
"foreignArtistId": artist["foreignArtistId"],
|
||||
"rootFolderPath": ROOT_FOLDER_PATH,
|
||||
"qualityProfileId": QUALITY_PROFILE_ID,
|
||||
"metadataProfileId": 1,
|
||||
"monitored": MONITORED,
|
||||
"monitorNewItems": MONITOR_NEW_ITEMS,
|
||||
"addOptions": {
|
||||
"monitor": MONITOR_NEW_ITEMS,
|
||||
"searchForMissingAlbums": SEARCH_FOR_MISSING_ALBUMS
|
||||
},
|
||||
"artistType": artist.get("artistType", "Group"),
|
||||
"disambiguation": artist.get("disambiguation", ""),
|
||||
"overview": artist.get("overview", ""),
|
||||
"images": artist.get("images", []),
|
||||
"links": artist.get("links", []),
|
||||
"folder": artist["folder"]
|
||||
}
|
||||
|
||||
# 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
|
||||
|
||||
from config import *
|
||||
import requests
|
||||
import json
|
||||
|
||||
def lidarr_api_add_artist(mbid, verbose=False):
|
||||
lookup_url = f"{LIDARR_URL}/api/v1/artist/lookup?term=mbid:{mbid}"
|
||||
headers = {"X-Api-Key": LIDARR_API_KEY}
|
||||
if DEBUG_PRINT:
|
||||
print(f"[LIDARR DEBUG] Artist hittad: {artist['artistName']} (MBID: {artist['foreignArtistId']})")
|
||||
print(f"[LIDARR DEBUG] Payload: {payload}")
|
||||
|
||||
try:
|
||||
res = requests.get(lookup_url, headers=headers)
|
||||
res.raise_for_status()
|
||||
data = res.json()
|
||||
|
||||
if not data:
|
||||
if verbose:
|
||||
print(f"[LIDARR] Ingen artist hittades för MBID {mbid}")
|
||||
return False
|
||||
|
||||
artist = data[0]
|
||||
payload = {
|
||||
"foreignArtistId": mbid,
|
||||
"artistName": artist["artistName"],
|
||||
"monitored": True,
|
||||
"qualityProfileId": QUALITY_PROFILE_ID,
|
||||
"metadataProfileId": 1,
|
||||
"rootFolderPath": ROOT_FOLDER_PATH,
|
||||
"addOptions": {
|
||||
"monitor": "all",
|
||||
"searchForMissingAlbums": True
|
||||
}
|
||||
}
|
||||
|
||||
if verbose:
|
||||
print(f"[LIDARR] Försöker lägga till: {artist['artistName']}")
|
||||
|
||||
add_url = f"{LIDARR_URL}/api/v1/artist"
|
||||
res = requests.post(add_url, headers=headers, json=payload)
|
||||
|
||||
if res.status_code == 400:
|
||||
errors = res.json()
|
||||
for err in errors:
|
||||
if err.get("errorCode") == "ArtistExistsValidator":
|
||||
print(f"[LIDARR] {artist['artistName']} finns redan.")
|
||||
return False
|
||||
if err.get("errorCode") == "RootFolderExistsValidator":
|
||||
print(f"[LIDARR] Fel: Angiven rotmapp finns inte: {ROOT_FOLDER_PATH}")
|
||||
return False
|
||||
print(f"[LIDARR] Fel: {res.text}")
|
||||
return False
|
||||
|
||||
res.raise_for_status()
|
||||
|
||||
print(f"[LIDARR] ✅ Tillagd: {artist['artistName']}")
|
||||
return True
|
||||
|
||||
except Exception as e:
|
||||
print(f"[LIDARR] ❌ Fel vid MBID {mbid}: {e}")
|
||||
return False
|
||||
response = requests.post(
|
||||
f"{LIDARR_URL}/api/v1/artist",
|
||||
headers={"X-Api-Key": LIDARR_API_KEY},
|
||||
json=payload
|
||||
)
|
||||
response.raise_for_status()
|
||||
return response.json()
|
||||
except requests.exceptions.HTTPError as e:
|
||||
print(f"[LIDARR ERROR] HTTP-fel vid tillägg av MBID {artist['foreignArtistId']}: {e}")
|
||||
if e.response is not None:
|
||||
print(f"[LIDARR ERROR] Svar från servern: {e.response.json()}")
|
||||
return None
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue