anndl: Fixed a couple of bugs.
[utils.git] / autodlctl
index e367a7c..134fb8d 100755 (executable)
--- 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
@@ -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"