Add new file
This commit is contained in:
commit
364597a705
1 changed files with 119 additions and 0 deletions
119
torrenttomedia_utorrent.sh
Normal file
119
torrenttomedia_utorrent.sh
Normal file
|
@ -0,0 +1,119 @@
|
|||
#!/bin/bash
|
||||
# utorrent postprocess script
|
||||
# finished: torrenttomedia_utorrent.sh 0 "%S" "%D" "%N" "(%L)" "%I" "%M"
|
||||
# changedstate: torrenttomedia_utorrent.sh 1 "%S" "%D" "$N" "(%L)" "%I" "%M"
|
||||
|
||||
#################
|
||||
### Variables ###
|
||||
#################
|
||||
|
||||
data="$*"
|
||||
logfile="/var/log/torrenttomedia_utorrent.log"
|
||||
job="$1"
|
||||
state="$2"
|
||||
directory="$3"
|
||||
title="$4"
|
||||
label=" $5"
|
||||
hexhash="$6"
|
||||
statestring="$7"
|
||||
botid="$utorentbotid"
|
||||
chatid="$telegramchatid"
|
||||
url="https://api.telegram.org/bot$botid/sendMessage"
|
||||
sent=0
|
||||
torrenttomedia="nzbToMedia/TorrentToMedia.py"
|
||||
#################
|
||||
### Functions ###
|
||||
#################
|
||||
|
||||
telegram(){
|
||||
OUTPUT=$(curl -sq --data "chat_id=$chatid&text=$data" "$url")
|
||||
}
|
||||
|
||||
statuscheck(){
|
||||
OK=$(jq .ok <<< "$OUTPUT")
|
||||
if [[ "$OK" == "true" ]]; then
|
||||
post_log "$OUTPUT"
|
||||
sent=1
|
||||
elif [[ "$OK" == "false" ]]; then
|
||||
ERRCODE=$(jq .error_code <<< "$OUTPUT")
|
||||
if [[ "$ERRCODE" -eq 429 ]]; then
|
||||
post_log "$ERRCODE :: $OUTPUT"
|
||||
SLEEPTIME=$(jq .retry_after <<< "$OUTPUT")
|
||||
sleep "$((SLEEPTIME+1))"
|
||||
elif [[ "$ERRCODE" -eq 400 ]]; then
|
||||
echo "[DEBUG] $ERRCODE: No message provided."
|
||||
post_log "$ERRCODE :: $OUTPUT"
|
||||
sent=1
|
||||
else
|
||||
echo "[DEBUG] Error Code: $ERRCODE"
|
||||
post_log "$ERRCODE :: $OUTPUT"
|
||||
sent=1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
post_log(){
|
||||
echo "$@" >> "$logfile"
|
||||
}
|
||||
pp(){
|
||||
label=${label:2:-1}
|
||||
python "$torrenttomedia" "$directory" "$title" "$label" "$hexhash"
|
||||
}
|
||||
messagecode(){
|
||||
case $state in
|
||||
1)
|
||||
message="errored out ($statestring)."
|
||||
;;
|
||||
12)
|
||||
message="joined the queue."
|
||||
;;
|
||||
6)
|
||||
message="is out finding peers."
|
||||
;;
|
||||
11)
|
||||
message="finished downloading."
|
||||
;;
|
||||
5)
|
||||
message="is ready for seeding."
|
||||
;;
|
||||
10)
|
||||
message="queued up for seeding."
|
||||
;;
|
||||
5)
|
||||
message="is moving to its final destination."
|
||||
;;
|
||||
13)
|
||||
message="has been stopped."
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
buildmsg(){
|
||||
if [[ "$label" == "()" ]]; then
|
||||
unset label
|
||||
fi
|
||||
if [ "$job" == "0" ]; then
|
||||
data="$title$label finished downloading."
|
||||
elif [ "$job" == "1" ]; then
|
||||
messagecode
|
||||
data="$title$label $message"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
#####################
|
||||
### Main Function ###
|
||||
#####################
|
||||
|
||||
post_log "$*"
|
||||
|
||||
buildmsg
|
||||
|
||||
while [ $sent -eq 0 ]; do
|
||||
telegram
|
||||
statuscheck
|
||||
done
|
||||
|
||||
if [ "$job" == 0 ]; then
|
||||
pp
|
||||
fi
|
Loading…
Add table
Add a link
Reference in a new issue