X-Git-Url: http://dolda2000.com/gitweb/?p=utils.git;a=blobdiff_plain;f=autodlctl;h=134fb8dbf03363cc3bbf6cd46b532783a4a9483b;hp=004f5cfeab69f79477687f1915cedb95f638a9dc;hb=f7bd9b51138dbccb7cc2fd27f07ef66d5d2d79cf;hpb=3266af742a2b864b63a7d103c57b4d472ad5d543 diff --git a/autodlctl b/autodlctl index 004f5cf..134fb8d 100755 --- a/autodlctl +++ b/autodlctl @@ -5,18 +5,19 @@ paths=(/home/pub/video/anime $HOME/dc/autodl/cur) function findcurep { if [ -r badlist ]; then - echo badlist `head -n 1 curep` + echo badlist `head -n 1 badlist` return 0 fi if [ -r curep ]; then if [ -r maxep ]; then if [ "`cat curep`" -le "`cat maxep`" ]; then echo curep `cat curep` + return 0 fi else echo curep `cat curep` + return 0 fi - return 0 fi echo none return 1 @@ -43,7 +44,7 @@ function getnext badsizesl="$(sed -n "s/^0*$curep \([^#]*\)\( *#.*\)\?$/\1/p" badsizes)" fi if [ -n "$badsizesl" ]; then - read -a badsizes <<<"$badsizesl" + read -d/ -a badsizes <<<"$badsizesl" unset badsizesl echo "found bad size list: ${badsizes[@]}" fi @@ -78,7 +79,7 @@ function getnext wait $pid stat=$? if [ -r "$estatfile" ]; then - estat="`cat "$estatfile"`" + estat=(`cat "$estatfile"`) rm -f "$estatfile" fi if [ "$intr" = y ]; then @@ -113,20 +114,28 @@ function getnext if [ "$estat" = dbl ]; then echo -en "${tag}\n${curep}\n" >>"$HOME/dc/autodl/done" echo -en "${tag}\n$((${curep} + 1))\n" >>"$HOME/dc/autodl/done" - let curep+=2 + let "nextep=curep+2" else echo -en "${tag}\n${curep}\n" >>"$HOME/dc/autodl/done" - let curep++ + let "nextep=curep+1" fi - echo "$curep" >curep + echo "$nextep" >curep if [ -r maxep ]; then - if [ "$curep" -gt "`cat maxep`" ]; then + if [ "$nextep" -gt "`cat maxep`" ]; then echo "$tag has reached max" echo "$tag" >>"$HOME/dc/autodl/maxed" fi fi ;; esac + if [ "$estat" = bad ]; then + echo "episode reported as bad, adding to badlist" + echo "$curep" >>badlist + elif [ "${estat[0]}" = badsize ]; then + echo "size reported as bad" + echo "$curep" >>badlist + echo "$curep ${estat[1]}" >>badsizes + fi if ! findcurep; then echo "no more episodes to download from $tag" touch disabled