Initial commit
This commit is contained in:
76
postprocess.sh
Normal file
76
postprocess.sh
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# This script requires that sabnzbd will reject duplicate nzbs allowing sonarr to blocklist the request.
|
||||||
|
|
||||||
|
# ===== CONFIG =====
|
||||||
|
SONARR_URL="http://localhost:8989"
|
||||||
|
API_KEY="YOUR_API_KEY"
|
||||||
|
# ==================
|
||||||
|
|
||||||
|
log() {
|
||||||
|
echo "$(date '+%Y-%m-%d %H:%M:%S') - $1" >&2
|
||||||
|
}
|
||||||
|
|
||||||
|
# Only act on Import/Upgrade
|
||||||
|
if [ "$sonarr_eventtype" != "Download" ]; then
|
||||||
|
log "Ignoring event type: $sonarr_eventtype"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Provided from sonarr environment when job runs
|
||||||
|
SERIES_ID="$sonarr_series_id"
|
||||||
|
EPISODEFILE_ID="$sonarr_episodefile_id"
|
||||||
|
EPISODE_IDS="$sonarr_episodefile_episodeids"
|
||||||
|
|
||||||
|
log "Episode File ID: $EPISODEFILE_ID"
|
||||||
|
log "Episode IDs: $EPISODE_IDS"
|
||||||
|
|
||||||
|
if [ -z "$EPISODEFILE_ID" ]; then
|
||||||
|
log "No episodefile ID supplied."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$EPISODE_IDS" ]; then
|
||||||
|
log "No episode IDs supplied."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
log "Processing EpisodeFile ID: $EPISODEFILE_ID"
|
||||||
|
log "Processing EpisodeIDs: $EPISODE_IDS"
|
||||||
|
|
||||||
|
# Get episodefile details
|
||||||
|
EPISODEFILE=$(curl -s -H "X-Api-Key: $API_KEY" \
|
||||||
|
"$SONARR_URL/api/v3/episodefile/$EPISODEFILE_ID")
|
||||||
|
SCORE=$(echo "$EPISODEFILE" | jq '.customFormatScore')
|
||||||
|
|
||||||
|
log "Custom Format Score: $SCORE"
|
||||||
|
|
||||||
|
if [ "$SCORE" -lt 0 ]; then
|
||||||
|
log "Score below zero — rejecting release."
|
||||||
|
|
||||||
|
# Delete episodefile
|
||||||
|
curl -s -X DELETE \
|
||||||
|
-H "X-Api-Key: $API_KEY" \
|
||||||
|
"$SONARR_URL/api/v3/episodefile/$EPISODEFILE_ID?deleteFiles=true" \
|
||||||
|
> /dev/null
|
||||||
|
|
||||||
|
log "Episode file deleted."
|
||||||
|
|
||||||
|
# Trigger re-search
|
||||||
|
curl -s -X POST "$SONARR_URL/api/v3/command" \
|
||||||
|
-H "X-Api-Key: $API_KEY" \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-d "{
|
||||||
|
\"name\": \"EpisodeSearch\",
|
||||||
|
\"episodeIds\": [$EPISODE_IDS],
|
||||||
|
\"ignoreDeleted\": true,
|
||||||
|
\"searchForUpgrade\": true
|
||||||
|
}" > /dev/null
|
||||||
|
|
||||||
|
log "Re-search triggered."
|
||||||
|
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
log "Score acceptable."
|
||||||
|
exit 0
|
||||||
Reference in New Issue
Block a user