1#!/bin/sh 2GREEN_DOWNLOAD_QUEUEN_BT="/tmp/admin_home/.mldonkey/queuen_bt.file" 3GREEN_DOWNLOAD_CHECK_FILE="/tmp/admin_home/.mldonkey/green_download_check_file" 4TRANS_REMOTE="/usr/bin/transmission-remote" 5TORRENT_DIR="/tmp/admin_home/.mldonkey" 6QUEUEN_FILE=$GREEN_DOWNLOAD_QUEUEN_BT 7ret=0 8let "ln=0" 9config unset add_suc 10 11mem_full=0 12check_mem() 13{ 14 /usr/sbin/dni_dcheck /tmp/admin_home/.mldonkey/$1 1>/dev/null 2>$GREEN_DOWNLOAD_CHECK_FILE 15 grep "overall_size_bigger_than_usb:1" $GREEN_DOWNLOAD_CHECK_FILE && mem_full=1 16} 17 18auto_process() 19{ 20 if [ "x$1" = "xqueuen" ] ; then 21 sed -i ''$ln's/^queuen/adding/' $QUEUEN_FILE 22 check_mem $3 23 if [ $mem_full = 0 ] ; then 24 $TRANS_REMOTE -a $TORRENT_DIR/$3 | grep success && ret=1 && rm $TORRENT_DIR/$3 && return 25 else 26 sed -i ''$ln's/^adding/mem-full/' $QUEUEN_FILE 27 return 28 fi 29 else 30 echo "TRANSBT ignore this task.." 31 return 32 fi 33 34 echo transbt add task failed... 35 sed -i ''$ln's/^adding/ERROR/' $QUEUEN_FILE 36} 37 38[ -f $QUEUEN_FILE ] || exit 0 39 40cat $QUEUEN_FILE | while read line 41do 42 let "ln=$ln + 1" 43 if [ "x$line" != "x" ] ;then 44 if [ "x$2" = "xauto" ]; then 45 auto_process $line 46 [ $ret = 1 ] && sed -i ''$ln'd' $QUEUEN_FILE && break 47 continue 48 fi 49 fi 50done 51