| 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 |