User:SOTO/bot tricks
From Tardis Wiki, the free Doctor Who reference
Categories
Adding a category to the bottom of a page
Step 1
python add_text.py -cat:"category" -text:"[[Category:New category]]" -pt:1 -except:"New category"
Step 2
python replace.py -cat:"New category" -regex "\[\[Category:(New category)\]\]\r\n([\s\S]*)\r\n\[\[Category:(.*?)\]\]" "\2\n[[Category:\3]]\n[[Category:\1]]" -pt:1
Adding FTRW category only if contains {{wikipediainfo}}
python replace.py -catr:"Example" -regex "\{\{[Ww]ikipediainfo([\s\S]*)\[\[Category:(.*?)\]\]" "{{wikipediainfo\1[[Category:\2]]\n[[Category:Example from the real world]]" -excepttext:"Example from the real world" -pt:1
Locations visited by the good Doc
replace.py "-cat:Example" "-regex" "\[\[Category:Locations visited by the(.*?)Doctor\]\]" "[[Category:Example visited by the\1Doctor]]" "-pt:1"
General
Piped italics
python replace.py -regex "\[\[(.*?) \((.*?)\)\|''\1''\]\]" "''[[\1 (\2)|\1]]''" "\[\[(.*?)\|''\1''\]\]" "''[[\1]]''" -summary:"Cosmetic changes" -pt:1 -start:!
Spacing
After infoboxes
Overly complicated spacing fix
python replace.py -regex "\{\{Infobox([\s\S]*?)\}\}\r\n\{\{([Yy]ou may)" "{{Infobox\1}}{{you may" "\{\{Infobox([\s\S]*?)\}\}\r\n\{\{([Dd]ab page)" "{{Infobox\1}}{{dab page" "\{\{Infobox([\s\S]*?)\}\}\r\n\{\{([Ww]ikipediainfo)" "{{Infobox\1}}{{wikipediainfo" "\}\}\{\{([sS]tub|.*? stub|wikipediainfo)\}\}\{\{(you may|dab page)" "}}{{\1}}\n{{\2" "\r\n\}\}\{\{(.*?)\}\}\{\{(you may|dab page|wikipediainfo)" "\n}}{{\1}///}{{\2" "\{\{Infobox([\s\S]*?)(\]\]|\)|\w)\}\}\{\{(you may|dab page|wikipediainfo)" "{{Infobox\1\2\n}}{{\3" "\}\/\/\/\}" "}}" "\{\{Infobox([\s\S]*?)\}\}\r\n\r\n'''" "{{Infobox\1}}\n'''" -summary:"[[T:SPACING|Spacing]]" -start:! -pt:1
Videos
Good vids
Step 1: DPL search
{{#dpl: |category=Videos |modifiedby=SOTO }}
Step 2
Find-and-replace list into a usable format.
python replace.py "[[Category:Videos]]" "{{good video}}" -pt:1 -page:"File:Video name 1" -page:"File:Video name 2"
You may have to handle videos with double quotation marks in their titles, manually.