@ -1,5 +1,5 @@
#!/usr/bin/env bash
scriptVersion = "1.0. 4 "
scriptVersion = "1.0. 5 "
agent = "ERA ( https://github.com/Makario1337/ExtendedReleaseAdder )"
ArtistsJSON = $( jq '.artists[]' /config/artists.json)
@ -8,6 +8,14 @@ log () {
echo $m_time " :: Extended Release Adder :: " $1
}
# auto-clean up log file to reduce space usage
if [ -f "/config/logs/ExtendedReleaseAdder.txt" ] ; then
find /config/logs -type f -name "ExtendedReleaseAdder.txt" -size +1024k -delete
fi
exec & >> "/config/logs/ExtendedReleaseAdder.txt"
chmod 666 "/config/logs/ExtendedReleaseAdder.txt"
if [ -z " $lidarrUrl " ] || [ -z " $lidarrApiKey " ] ; then
lidarrUrlBase = " $( cat /config/config.xml | xq | jq -r .Config.UrlBase) "
if [ " $lidarrUrlBase " = "null" ] ; then
@ -20,7 +28,6 @@ if [ -z "$lidarrUrl" ] || [ -z "$lidarrApiKey" ]; then
lidarrUrl = " http://127.0.0.1: ${ lidarrPort } ${ lidarrUrlBase } "
fi
log "-----------------------------------------------------------------------------"
log " |\/| _ | _ ._o _ '|~/~/~/"
log " | |(_||<(_|| |(_) |_)_)/ "
@ -50,9 +57,7 @@ if [ ! -d "$lidarrAudiobookRootFolder" ]; then
log "ERROR :: Exiting ERA..."
exit
fi
lidarrAudiobookRootFolderCheck = $( curl -s GET " $lidarrUrl /api/v1/rootFolder " -H " X-Api-Key: ${ lidarrApiKey } " | grep " $lidarrAudiobookRootFolder " )
if [ -z " $lidarrAudiobookRootFolderCheck " ] ; then
log " ERROR :: Audiobooks \" $lidarrAudiobookRootFolder \" is not added to Lidarr as a root folder... "
log " ERROR :: Add \" $lidarrAudiobookRootFolder \" to Lidarr as a root folder "
@ -61,7 +66,11 @@ if [ -z "$lidarrAudiobookRootFolderCheck" ]; then
fi
AddReleaseToLidarr( ) {
lidarrAlbumSearch = $( curl -X GET " $lidarrUrl /api/v1/album/lookup?term= " lidarr%3A%20$1 "" -H "accept: */*" -H "X-Api-Key: " $lidarrApiKey "" | jq '.' )
lidarrAlbumSearch = $( curl -s -X GET " $lidarrUrl /api/v1/album/lookup?term= " lidarr%3A%20$1 "" -H "accept: */*" -H "X-Api-Key: " $lidarrApiKey "" | jq '.' )
CheckIfAlreadyAdded = $( echo $lidarrAlbumSearch | tr -d ' ' | sed 's/^.*,"grabbed":*false,"id"://g' | sed 's/}]//g' )
if [ [ $CheckIfAlreadyAdded = ~ ^[ 0-9] +$ ] ] ; then
log " Adding :: $2 :: $3 :: Alreaddy Added, skipping.... "
else
lidarrAlbumSearch = $( echo $lidarrAlbumSearch |
sed 's/"monitored": false/"monitored": true/g' |
sed 's/"qualityProfileId": 0/"qualityProfileId": 1/g' |
@ -73,11 +82,13 @@ AddReleaseToLidarr() {
cut -c 2- |
head -c -2)
curl -X POST " $lidarrUrl /api/v1/album?apikey= " $lidarrApiKey "" -H "accept: text/plain" -H "Content-Type: application/json" -d " $lidarrAlbumSearch "
log " Adding :: $2 :: $3 :: Release Added... "
fi
}
SearchRelease( ) {
ReleaseName = $( wget -U " $agent " --timeout= 0 -q -O - " https://musicbrainz.org/ws/2/release-group/ $1 " | grep -o "<title>.*</title>" | sed 's/<title>//g' | head -c -9 | sed 's/\&/\&/g' | sed 's/???/??? /g' )
log " Adding :: $artist :: $ReleaseName "
AddReleaseToLidarr $1 & > /dev/null
AddReleaseToLidarr $1 " $artist " " $ReleaseName "
}
SearchAllReleasesForArtist( ) {
offset = 0
@ -104,7 +115,7 @@ SearchAllReleasesForArtist() {
}
ArtistLookup( ) {
search = $( echo $1 | sed 's/\"//g' )
artist = $( wget -U " $agent " --timeout= 0 -q -O - " https://musicbrainz.org/ws/2/artist/ $search " | grep -o "<name>.*</name>" | sed 's/<name>//' | sed 's/<\/name>.*//' | sed 's/???/??? /g' )
artist = $( wget -U " $agent " --timeout= 0 -q -O - " https://musicbrainz.org/ws/2/artist/ $search " | grep -o "<name>.*</name>" | sed 's/<name>//' | sed 's/<\/name>.*//' | sed 's/???/??? /g' | sed 's/\&/\&/g' )
log " Adding :: $artist "
sleep 1.5
SearchAllReleasesForArtist $search