mirror of
https://github.com/Jonny007-MKD/Torrent-Label-DB
synced 2025-03-09 15:57:07 +01:00
Script to refresh the labels in our database
This commit is contained in:
parent
d1db36e221
commit
082ddfcd94
2 changed files with 56 additions and 0 deletions
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
labelsOfTorrents.db
|
||||
.tmp
|
54
refreshDb.sh
Executable file
54
refreshDb.sh
Executable file
|
@ -0,0 +1,54 @@
|
|||
#!/bin/bash
|
||||
|
||||
|
||||
# This script refreshes all labels from the torrent clients
|
||||
|
||||
delugeLabels="/etc/deluged/label.conf" # Path to label.conf in DelugeD conf dir
|
||||
deadline="2 months" # `date -d` compatible time interval
|
||||
|
||||
|
||||
PwD=$(readlink -e $0) # Get the path to this script
|
||||
PwD=$(dirname "$PwD")
|
||||
db="$PwD/labelsOfTorrents.db"
|
||||
|
||||
|
||||
if [ ! -f "$db" ]; then # db does not exist
|
||||
echo "DB does not exist!" >&2
|
||||
exit 1;
|
||||
fi
|
||||
if [ -n "$delugeLabels" -a ! -f "$delugeLabels" ]; then
|
||||
echo "label.conf not found at $delugeLabels" >&2
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
deadline=$(date +%s -d "-$deadline") # get timestamp of deadline
|
||||
#echo $deadline
|
||||
|
||||
touch $db.tmp
|
||||
while IFS=' ' read -r time daemon id name label; do # read DB
|
||||
|
||||
if [ $time -gt $deadline ]; then # if entry is not too old
|
||||
|
||||
case $daemon in
|
||||
deluge)
|
||||
labelNew=$(grep -m 1 $id $delugeLabels | grep -o ': ".*"' | grep -o '[a-zA-Z0-9_-]*') # get label from Deluge
|
||||
;;
|
||||
*)
|
||||
echo "Unknown daemon $daemon!" >&2
|
||||
exit 2
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ -n "$labelNew" ]; then
|
||||
label=$labelNew; # set label
|
||||
fi
|
||||
|
||||
#echo $time $daemon $id $name $label
|
||||
echo $time $daemon $id $name $label >> $db.tmp; # keep in db
|
||||
#else
|
||||
#echo skipped $time $daemon $id $name $label
|
||||
fi
|
||||
done < $db;
|
||||
|
||||
mv $db.tmp $db
|
||||
chmod 666 $db
|
Loading…
Reference in a new issue