2023-07-20 12:26:49 +02:00
log ( ) {
m_time = ` date "+%F %T" `
2023-07-28 13:39:31 +02:00
echo $m_time " :: $scriptName :: $scriptVersion :: " $1 2>& 1 | tee -a /config/logs/$scriptName .txt
2023-07-20 12:26:49 +02:00
}
logfileSetup ( ) {
# auto-clean up log file to reduce space usage
if [ -f " /config/logs/ $scriptName .txt " ] ; then
2023-07-20 12:49:16 +02:00
if find /config/logs -type f -name " $scriptName .txt " -size +1024k | read; then
echo "" > /config/logs/$scriptName .txt
fi
2023-07-20 12:26:49 +02:00
fi
if [ ! -f " /config/logs/ $scriptName .txt " ] ; then
echo "" > /config/logs/$scriptName .txt
chmod 666 " /config/logs/ $scriptName .txt "
fi
}
getArrAppInfo ( ) {
# Get Arr App information
if [ -z " $arrUrl " ] || [ -z " $arrApiKey " ] ; then
arrUrlBase = " $( cat /config/config.xml | xq | jq -r .Config.UrlBase) "
if [ " $arrUrlBase " = = "null" ] ; then
arrUrlBase = ""
else
arrUrlBase = " / $( echo " $arrUrlBase " | sed "s/\///g" ) "
fi
arrName = " $( cat /config/config.xml | xq | jq -r .Config.InstanceName) "
arrApiKey = " $( cat /config/config.xml | xq | jq -r .Config.ApiKey) "
arrPort = " $( cat /config/config.xml | xq | jq -r .Config.Port) "
arrUrl = " http://127.0.0.1: ${ arrPort } ${ arrUrlBase } "
fi
}
verifyApiAccess ( ) {
until false
do
arrApiTest = ""
arrApiVersion = ""
if [ " $arrPort " = = "8989" ] || [ " $arrPort " = = "7878" ] ; then
arrApiVersion = "v3"
elif [ " $arrPort " = = "8686" ] || [ " $arrPort " = = "8787" ] ; then
arrApiVersion = "v1"
fi
arrApiTest = $( curl -s " $arrUrl /api/ $arrApiVersion /system/status?apikey= $arrApiKey " | jq -r .instanceName)
if [ " $arrApiTest " = = " $arrName " ] ; then
break
else
log " $arrName is not ready, sleeping until valid response... "
sleep 1
fi
done
}
2023-08-12 16:37:43 +02:00
ConfValidationCheck ( ) {
logfileSetup
if [ ! -f "/config/extended.conf" ] ; then
log "ERROR :: \"extended.conf\" file is missing..."
log "ERROR :: Download the extended.conf config file and place it into \"/config\" folder..."
log "ERROR :: Exiting..."
exit
fi
if [ -z " $enableAutoConfig " ] ; then
log "ERROR :: \"extended.conf\" file is unreadable..."
log "ERROR :: Likely caused by editing with a non unix/linux compatible editor, to fix, replace the file with a valid one or correct the line endings..."
log "ERROR :: Exiting..."
exit
fi
}