X-Git-Url: http://dolda2000.com/gitweb/?p=utils.git;a=blobdiff_plain;f=autodlctl;h=134fb8dbf03363cc3bbf6cd46b532783a4a9483b;hp=8f551de0690e89e1495953979565a2efccaea523;hb=f8775f9c59566ff6c5d90f04f471f0bcbf2316d7;hpb=79d4ee974947a12000d4ba14641b70606d96875b diff --git a/autodlctl b/autodlctl index 8f551de..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,14 +114,14 @@ 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 @@ -130,6 +131,10 @@ function getnext 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"