| 1 | #!/bin/bash | 
 
 
 
 
 | 2 |  | 
 
 
 
 
 | 3 | IFS=" | 
 
 
 
 
 | 4 | " | 
 
 
 
 
 | 5 |  | 
 
 
 
 
 | 6 | CORE="/path/to/Pywikibot/core" | 
 
 
 
 
 | 7 | SUMMARY="changing link from http->https" | 
 
 
 
 
 | 8 | RATE=6 | 
 
 
 
 
 | 9 | FIX_START=551 | 
 
 
 
 
 | 10 | FIX_END=650 | 
 
 
 
 
 | 11 |  | 
 
 
 
 
 | 12 | cd "$CORE" | 
 
 
 
 
 | 13 | if [ ! -f "pwb.py" ]; then | 
 
 
 
 
 | 14 | echo "drive_https_upgrade.sh: Can't launch Pywikibot!" | 
 
 
 
 
 | 15 | exit | 
 
 
 
 
 | 16 | fi | 
 
 
 
 
 | 17 |  | 
 
 
 
 
 | 18 | echo "drive_https_upgrade.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 | if [[ $THE_LINE =~ .*http-\>https.* ]]; then | 
 
 
 
 
 | 24 | let FIX_CUR+=1 | 
 
 
 
 
 | 25 | if [ $FIX_CUR -lt $FIX_START ]; then | 
 
 
 
 
 | 26 | continue | 
 
 
 
 
 | 27 | fi | 
 
 
 
 
 | 28 | if [ $FIX_CUR -gt $FIX_END ]; then | 
 
 
 
 
 | 29 | echo "drive_https_upgrade.sh: Stopped after fix $FIX_END." | 
 
 
 
 
 | 30 | exit | 
 
 
 
 
 | 31 | fi | 
 
 
 
 
 | 32 |  | 
 
 
 
 
 | 33 | # Wait for rate limit to expire if we have run the Python script before in this session | 
 
 
 
 
 | 34 | if [ $LAST_RUN -gt 0 ]; then | 
 
 
 
 
 | 35 | CUR_TIME=$(date +%s) | 
 
 
 
 
 | 36 | WAIT_REMAINDER=$(($RATE - $CUR_TIME + $LAST_RUN)) | 
 
 
 
 
 | 37 | if [ $WAIT_REMAINDER -gt 0 ]; then | 
 
 
 
 
 | 38 | echo "drive_https_upgrade.sh: Waiting $WAIT_REMAINDER second(s)." | 
 
 
 
 
 | 39 | sleep $WAIT_REMAINDER | 
 
 
 
 
 | 40 | fi | 
 
 
 
 
 | 41 | fi | 
 
 
 
 
 | 42 | ON_PAGE=${THE_LINE#*page \'} | 
 
 
 
 
 | 43 | ON_PAGE=${ON_PAGE%%\'*} | 
 
 
 
 
 | 44 | FROM_LINK=${THE_LINE#*URL \'} | 
 
 
 
 
 | 45 | FROM_LINK=${FROM_LINK%%\'*} | 
 
 
 
 
 | 46 | TO_LINK=${THE_LINE%\'*} | 
 
 
 
 
 | 47 | TO_LINK=${TO_LINK##*\'} | 
 
 
 
 
 | 48 | LAST_RUN=$(date +%s) | 
 
 
 
 
 | 49 | python pwb.py replace -page:"$ON_PAGE" "$FROM_LINK" "$TO_LINK" -summary:"$SUMMARY" -always | 
 
 
 
 
 | 50 | fi | 
 
 
 
 
 | 51 | done |