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