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 |