[1169] | 1 | #!/bin/bash
|
---|
| 2 |
|
---|
| 3 | IFS="
|
---|
| 4 | "
|
---|
| 5 |
|
---|
| 6 | CORE="/path/to/Pywikibot/core"
|
---|
| 7 | SUMMARY="added ending slash to URL and/or upgrading http to https to satisfy redirect"
|
---|
| 8 | RATE=6
|
---|
| 9 | FIX_START=0
|
---|
| 10 | FIX_END=0
|
---|
| 11 |
|
---|
| 12 | cd "$CORE"
|
---|
| 13 | if [ ! -f "pwb.py" ]; then
|
---|
| 14 | echo "drive_slash_adding.sh: Can't launch Pywikibot!"
|
---|
| 15 | exit
|
---|
| 16 | fi
|
---|
| 17 |
|
---|
| 18 | echo "drive_slash_adding.sh: Starting at fix $FIX_START..."
|
---|
| 19 |
|
---|
| 20 | FIX_CUR=0
|
---|
| 21 | LAST_RUN=0
|
---|
| 22 | for THE_LINE in `cat "/path/to/ValExtLinks report.txt"`; do
|
---|
| 23 | #echo "drive_slash_adding.sh: Considering '$THE_LINE'..."
|
---|
| 24 | if [[ "$THE_LINE" =~ .*trailing.* ]] && [[ ! "$THE_LINE" =~ .*w/index.php.* ]]; then
|
---|
| 25 | #echo "drive_slash_adding.sh: This URL needs to be fixed."
|
---|
| 26 | let FIX_CUR+=1
|
---|
| 27 |
|
---|
| 28 | if [ $FIX_CUR -lt $FIX_START ]; then
|
---|
| 29 | continue
|
---|
| 30 | fi
|
---|
| 31 |
|
---|
| 32 | if [ $FIX_END -gt 0 ] && [ $FIX_CUR -gt $FIX_END ]; then
|
---|
| 33 | echo "drive_slash_adding.sh: Stopped after fix $FIX_END."
|
---|
| 34 | exit
|
---|
| 35 | fi
|
---|
| 36 |
|
---|
| 37 | # Wait for rate limit to expire if we have run the Python script before in this session
|
---|
| 38 | if [ $LAST_RUN -gt 0 ]; then
|
---|
| 39 | CUR_TIME=$(date +%s)
|
---|
| 40 | WAIT_REMAINDER=$(($RATE - $CUR_TIME + $LAST_RUN))
|
---|
| 41 | if [ $WAIT_REMAINDER -gt 0 ]; then
|
---|
| 42 | echo "drive_slash_adding.sh: Waiting $WAIT_REMAINDER second(s)."
|
---|
| 43 | sleep $WAIT_REMAINDER
|
---|
| 44 | fi
|
---|
| 45 | fi
|
---|
| 46 | ON_PAGE=${THE_LINE#*page \'}
|
---|
| 47 | ON_PAGE=${ON_PAGE%%\'*}
|
---|
| 48 | FROM_LINK=${THE_LINE#*URL \'}
|
---|
| 49 | FROM_LINK=${FROM_LINK%%\'*}
|
---|
| 50 | TO_LINK=${THE_LINE%\'*}
|
---|
| 51 | TO_LINK=${TO_LINK##*\'}
|
---|
| 52 |
|
---|
| 53 | #if [[ "$THE_LINE" =~ ${FROM_LINK}[^a-zA-Z/] ]]; then
|
---|
| 54 | # echo "URL is not isolated, skipping."
|
---|
| 55 | # continue
|
---|
| 56 | #fi
|
---|
| 57 |
|
---|
| 58 | LAST_RUN=$(date +%s)
|
---|
| 59 | echo "pwb.by replace '-page:\"$ON_PAGE\" \"$FROM_LINK\" \"$TO_LINK\""
|
---|
| 60 | python pwb.py replace -page:"$ON_PAGE" "$FROM_LINK" "$TO_LINK" -summary:"$SUMMARY"
|
---|
| 61 | fi
|
---|
| 62 | done
|
---|