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
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
wait $pid
stat=$?
if [ -r "$estatfile" ]; then
- estat="`cat "$estatfile"`"
+ estat=(`cat "$estatfile"`)
rm -f "$estatfile"
fi
if [ "$intr" = y ]; then
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
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"