nos/run

42 lines
1.9 KiB
Bash

#!/bin/bash
count=0; lim=15000;
while [ $count -lt $lim ]; do
finishcount=0;
pid=$(cat pid);
echo -n -e "${pid}\t"
url=$(./getlink);
# The ./getlink checks for a 404.
# This continues a few post id's down to make sure it's really reached the end.
# The post id will not be incremented if there are five 404's in a row.
if [ "$url" = "error finish" ]; then echo -n " it"; finishcount=$(( $finishcount + 1 ));
if [ "$(./getlink $(( $pid+1 )) )" = "error finish" ]; then echo -n "'"; finishcount=$(( $finishcount + 1 ));
if [ "$(./getlink $(( $pid+2 )) )" = "error finish" ]; then echo -n "s"; finishcount=$(( $finishcount + 1 ));
if [ "$(./getlink $(( $pid+3 )) )" = "error finish" ]; then echo -n "..."; finishcount=$(( $finishcount + 1 ));
if [ "$(./getlink $(( $pid+4 )) )" = "error finish" ]; then echo -n " so"; finishcount=$(( $finishcount + 1 ));
fi; fi; fi; fi; echo -n " -it's over- ";
fi
if [ "$finishcount" -gt 0 ] && [ "$finishcount" -lt 5 ]; then echo " -we're back- "; url=$(./getlink); else echo; fi;
# Pause execution if rate limit has been reached
if [ "$url" = "error rlimit" ]; then echo "rlimit.. sleeping 60 (1)"; sleep 60; url=$(./getlink);
if [ "$url" = "error rlimit" ]; then echo "rlimit.. sleeping 600 (2)"; sleep 600; url=$(./getlink);
if [ "$url" = "error rlimit" ]; then echo "rlimit.. sleeping 1140 (3)"; sleep 1140; url=$(./getlink);
if [ "$url" = "error rlimit" ]; then echo "rlimit.. sleeping 1940 (4)"; sleep 1940; url=$(./getlink);
fi; fi; fi; fi;
echo "$url";
# If ./getlink returns the URL, then it matched the pattern and the returned URL is the fixed one so it posts a comment.
if [ $(echo "$url" | cut -d ' ' -f1) != "error" ]; then echo "POST IT"; $(./reply_post "$pid" "$url" > /dev/null); fi;
# The post id will not be incremented if there are five 404's in a row.
if [ $finishcount -lt 5 ]; then echo $(( $pid + 1 )) > pid; fi;
count=$(( $count + 1 ));
done;