#!/bin/sh

###########################################################################

# script to monitor a selection of directories for new .torrent files.

# if found, queue them up in transmission

# and when done downloading, pause the torrent  

# w 10/20/08 horto

# u 10/29/08 horto - implmented "make transmission stop after seeding 1:1"

# u 10/29/08 horto - v2.0, do away with /torrents and /incoming dirs, and

#                        just monitor /media/movies, /media/TV and /media/mp3

#                        directories for torrents so I don't have to manually

#                        organize everything later!

# u 11/06/08 horto - fixed bug with awk not being found via cron

# u 10/23/10 inbonobo - modified _REMOTE statement with "-n login:pass"

#                                              and added --blocklist-update at the end

###########################################################################

TORRENTDIRS="/mnt/HD_a2/torrents"

LOG=/mnt/HD_a2/logs/torrentwd.log

TRANSMISSION_REMOTE='/ffp/bin/transmission-remote -n login:password'

# check each incoming TORRENTDIR for new .torrents

for DIR in $TORRENTDIRS; do

  for FILE in $DIR/*.torrent; do

 

        # set download dir to current working dir

        $TRANSMISSION_REMOTE -w $DIR

   

        # pick out .torrent files and queue them up

        if [ "$FILE" != "$DIR/*.torrent" ]; then

            echo [`date`] "$FILE" added to queue. >> $LOG

            $TRANSMISSION_REMOTE -a "$FILE"

            rm "$FILE"

            echo [`date`] "$FILE" deleted. >> $LOG

            sleep 1

        fi

  done

done

# stop completed downloads

for i in `/ffp/bin/transmission-remote -l | grep Done | grep Seeding | grep -v Ratio | /ffp/bin/awk '{print $1}'"`; do

  echo [`date`] stopping torrent id $i >> $LOG

  $TRANSMISSION_REMOTE -t $i -S

done

# update blocklist

$TRANSMISSION_REMOTE --blocklist-update

exit 0