User:SOTO/bot

From Tardis Wiki, the free Doctor Who reference
< User:SOTO
Revision as of 20:06, 26 February 2019 by SOTO (talk | contribs)

The Dollhouse audio story images

The War Doctor #X.3


To-do

python pwb.py replace -regex "\{\{real world\}\}\r\n\{\{(.*?)stub\}\}\r\n\{\{title dab away\}\}\r\n([\s\S]*?)\}\}" "{{title dab away}}\n{{real world}}\n\2}}{{\1stub}}" -page:"The Curious Case of the Misery Diary (short story)" -transcludes:"real world" -pt:2 -summary:"Standardising template order"
python pwb.py replace -regex "==( *)External link( *)==" "==\1External links\2==" -summary:"Standardising *External links* heading" -start:! -pt:2
  • Remove {{retitle}} from pages with {{title dab away}}.
  • Make sure {{TitleSort}} is everywhere beginning with "A" or "The".
  • Make sure {{NameSort}} is on all character pages, and all real world people pages, where applicable.
  • Remove http:// and https:// from transclusions of {{Infobox Person}} and {{official website}}.
  • Ensure {{NameSort}} and {{TitleSort}} are below all other templates on the page (must be at the bottom).
  • Manual run to change "his [[sonic screwdriver]]" to "his [[the Doctor's sonic screwdriver|sonic screwdriver]]"
  • Differentiate between "Bernice Summerfield audio stories" and "Bernice Summerfield" navs in infoboxes, such as at The Judas Gift.
python pwb.py replace -catr:"Lists of appearances" -regex "=( *)Comic( *)=" "=\1Comics\2=" "=( *)IDW publishing( *)=" "=\1IDW Publishing\2=" "=( *)Titan comics( *)=" "=\1Titan Comics\2=" "=( *)IDW( *)=" "=\1IDW Publishing\2=" "=( *)Titan( *)=" "=\1Titan Comics\2=" "=( *)Marvel( *)=" "=\1Marvel Comics\2=" -pt:2
python pwb.py replace -regex -ref:"Police" -catr:"Police officers" "([Pp]olice) officer" "[[\1 officer]]" "\[\[([Pp]olice)\|([Pp]olice)(man| officer)\]\]" "[[\2\3]]" "([Pp]olice)\{\{\!\}\}(Police officer|Policeman)" "Police officer" "\[\[([Pp]olice)\]\] officer" "[[\1 officer]]" "\[\[([Pp]olice)\]\]man" "[[\1man]]" "\[\[([Pp]olice)\]\] (car|\[\[car\]\])" "[[\1 car]]" "([Pp]olice) (car|\[\[car\]\])" "[[\1 car]]" -summary:"Linking" -pt:2
python pwb.py replace -regex -ref:"The Doctor's TARDIS" "\[\[([Tt]he Doctor's TARDIS|[Tt]he TARDIS)\#Library\|TARDIS library\]\]" "[[TARDIS library]]" -summary:"Linking" -pt:2
python pwb.py replace -regex "(\<span\>|\</span\>|\<span class=..\>)" "" -summary:"Removing <span> tags" -start:! -pt:2
  • Fix for "|thumb", with underscores and with spaces.
python pwb.py replace -regex "\[\[(TV|AUDIO|COMIC|PROSE|GAME|REF|DOC|WC|NOTVALID)\]\]: \[\[(.*?) \((.*?)\)\|''(.*?)''\]\]" "[[\1]]: ''[[\2 (\3)|\4]]''" -summary:"Piped italics fix" -start:! -pt:2
python pwb.py replace -regex "\[\[(.*?)\|''\1''\]\]" "''[[\1]]''" "\[\[(.*?) \((.*?)\)\|''\1''\]\]" "''[[\1 (\2)\|\1]]''" -summary:"Piped italics fix" -start:! -pt:2
python pwb.py replace -regex "\[\[(.*?)\|''(.*?)''\]\]" "''[[\1|\2]]''" -summary:"Piped italics fix" -start:! -pt:2
  • Append bullet points ("*") to all instances of {{Bigfinish}}. Then add it to the template itself, and update all instances accordingly.
  • Get "Footnotes" after "External links", where it's incorrectly placed before.
python pwb.py replace -regex "(\{\{wi\|Emmerdale\}\}|''\{\{w\|Emmerdale\}\}'')" "''[[Emmerdale]]''" -ref:"Emmerdale" -summary:"Linking [[Emmerdale]]" -pt:2
python pwb.py replace -regex "''\[\[(:wikipedia|wikipedia):(.*?)\|(.*?)\]\]''" "{{wi|\2|\3}}" "\[\[(:wikipedia|wikipedia):(.*?)\|(.*?)\]\]" "{{w|\2|\3}}" "\{\{(w|wi)\|(.*?)\|\2\}\}" "{{\1|\2}}" "\{\{(w|wi)\|(\w)(.*?)\|(\w)\3\}\}" "{{\1|\4\3}}" "\{\{(w|wi)\|(\w)(.*?)\|(\w)\3(s)\}\}" "{{\1|\4\3|\4\3s}}" -summary:"{{w}} and {{wi}}" -start:! -pt:2

Continue immediately

python pwb.py replace "{{Infobox_" "{{Infobox " -summary:"Infobox" -start:"John Harrison" -pt:2
python pwb.py replace -regex "==( *)External Links( *)==" "==\1External links\2==" -summary:"[[T:HEAD]]" -start:"The Lady" -pt:2
python pwb.py replace -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|looks like\|.*?|wikipediainfo|wikipediainfo\|.*?)\}\}\{\{(you may|dab page)" "\1\2}}\n{{\3" "\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:Dom -pt:2
python pwb.py replace -regex "''\[\[(:wikipedia|wikipedia):(.*?)\|(.*?)\]\]''" "{{wi|\2|\3}}" "\[\[(:wikipedia|wikipedia):(.*?)\|(.*?)\]\]" "{{w|\2|\3}}" "\{\{(w|wi)\|(.*?)\|\2\}\}" "{{\1|\2}}" "\{\{(w|wi)\|(\w)(.*?)\|(\w)\3\}\}" "{{\1|\4\3}}" "\{\{(w|wi)\|(\w)(.*?)\|(\w)\3(s)\}\}" "{{\1|\4\3|\4\3s}}" -summary:"{{w}} and {{wi}}" -start:Kevin -pt:2
python pwb.py replace -regex "''(The Bill|Upstairs, Downstairs|Upstairs Downstairs|Emmerdale|Game of Thrones|I Love Lucy|Wonder Woman|The X-Files|Orange is the New Black|Out of the Unknown|Dixon of Dock Green|CSI|Call the Midwife|Britain's Got Talent|Blake's 7|Hollyoaks|The Tomorrow People|Space: 1999|The Hitchhiker's Guide to the Galaxy|Downton Abbey|EastEnders|Eastenders|Juliet Bravo|Bergerac|Bob the Builder|Fireman Sam|Crossroads|Falcon Crest|Baywatch|Dynasty|The Sweeney|Z-Cars|Z Cars|Doomwatch|Wuthering Heights|Bridget Jones|War and Peace|War & Peace|Pride and Prejudice|Great Expectations|King Lear|The Three Musketeers|The Musketeers|Sherlock Holmes)''" "''[[\1]]''" "''\[\[\[\[(The Bill|Upstairs, Downstairs|Upstairs Downstairs|Emmerdale|Game of Thrones|I Love Lucy|Wonder Woman|The X-Files|Orange is the New Black|Out of the Unknown|Dixon of Dock Green|CSI|Call the Midwife|Britain's Got Talent|Blake's 7|Hollyoaks|The Tomorrow People|Space: 1999|The Hitchhiker's Guide to the Galaxy|Downton Abbey|EastEnders|Eastenders|Juliet Bravo|Bergerac|Bob the Builder|Fireman Sam|Crossroads|Falcon Crest|Baywatch|Dynasty|The Sweeney|Z-Cars|Z Cars|Doomwatch|Wuthering Heights|Bridget Jones|War and Peace|War & Peace|Pride and Prejudice|Great Expectations|King Lear|The Three Musketeers|The Musketeers|Sherlock Holmes)\]\]\]\]''" "''[[\1]]''" "'''''\[\[(The Bill|Upstairs, Downstairs|Upstairs Downstairs|Emmerdale|Game of Thrones|I Love Lucy|Wonder Woman|The X-Files|Orange is the New Black|Out of the Unknown|Dixon of Dock Green|CSI|Call the Midwife|Britain's Got Talent|Blake's 7|Hollyoaks|The Tomorrow People|Space: 1999|The Hitchhiker's Guide to the Galaxy|Downton Abbey|EastEnders|Eastenders|Juliet Bravo|Bergerac|Bob the Builder|Fireman Sam|Crossroads|Falcon Crest|Baywatch|Dynasty|The Sweeney|Z-Cars|Z Cars|Doomwatch|Wuthering Heights|Bridget Jones|War and Peace|War & Peace|Pride and Prejudice|Great Expectations|King Lear|The Three Musketeers|The Musketeers|Sherlock Holmes)\]\]'''''" "'''''\1'''''" "''\[\[Eastenders\]\]''" "''[[EastEnders]]''" "''\[\[Z Cars\]\]''" "''[[Z-Cars]]''" "''\[\[Upstairs Downstairs\]\]''" "''[[Upstairs, Downstairs]]''" "''Dallas''" "''[[Dallas (TV series)|]]''" "''Agatha Christie's Poirot''" "''[[Poirot|Agatha Christie's [[Poirot]]''" "''Agatha Christie's Marple''" "''[[Miss Marple (series)|Agatha Christie's Marple]]''" "\{\{wi\|(Star Trek: Deep Space Nine)\}\}" "''[[Star Trek|\1]]''" "''(Star Trek: Deep Space Nine)''" "''[[Star Trek|\1]]''" "''(Hamlet|Macbeth|Star Wars|Tarzan|The Hobbit|Star Trek|Quantum Leap|Babylon 5|Superman)''" "''[[\1]]''" "''\[\[\[\[(Hamlet|Macbeth|Star Wars|Tarzan|The Hobbit|Star Trek|Quantum Leap|Babylon 5|Superman)\]\]\]\]''" "''[[\1]]''" "''Robin Hood: Prince of Thieves''" "''[[Robin Hood|Robin Hood: Prince of Thieves]]''" "''Richard III''" "''[[Richard III (play)|Richard III]]''" "''Prometheus''" "''[[Alien (film)|Prometheus]]''" "''The Hitchhicker's Guide to the Galaxy''" "''[[The Hitchhiker's Guide to the Galaxy]]''" "''The Hitchhickers Guide to the Galaxy''" "''[[The Hitchhiker's Guide to the Galaxy]]''" "''The Hitchhikker's Guide to the Galaxy''" "''[[The Hitchhiker's Guide to the Galaxy]]''" "''The Hitch-Hickers Guide to the Galaxy''" "''[[The Hitchhiker's Guide to the Galaxy]]''" "''[[War & Peace]]''" "''[[War and Peace|War & Peace]]''" "{{iw|thebill|The Bill}}" "[[The Bill]]" -summary:"linking" " covers all licensed ''\[\[Star Wars\]\]'' works" " covers all licensed ''Star Wars'' works" -pt:2 -start:!
python pwb.py replace -summary:"Cosmetic infobox fixes" -regex "\{\{Infobox([\s\S]*)\r\n\|\}\}" "{{Infobox\1\n}}" "\{\{Infobox([\s\S]*)( *)\|\}\}" "{{Infobox\1\n}}" -pt:2 -start:"Doctor Who Experience"
python pwb.py replace -summary:"Cosmetic infobox fixes" -regex "\|( *)(only|first|first mention)( *)=( *)(.*?) \((.*?)\)\|\3" "|\1\2\3=\4\5 (\6)" -pt:2 -start:"Art" -always
python pwb.py replace -regex "\r\n\{\{\#ifeq:\{\{PAGENAME\}\}\|(.*)\|\}\}" "" -summary:"-preload remnant" -pt:2 -start:"Eye"
python pwb.py replace -links:"Kiss" "kiss" "[[kiss]]" -excepttext:"[[kiss]]" -pt:2
  • Check phone for further runs
python pwb.py replace -cat:"Production team titles" "he is she is" "they are" "he or she" "they" -pt:2

Then

python pwb.py replace -regex "\[\[Category:(.*? interviewed on The Fan Show)\]\]\r\n([\s\S]*)\r\n\[\[Category:(.*?)\]\]" "\2\n[[Category:\3]]\n[[Category:\1]]" "\[\[Category:(.*? interviewed on The Fan Show)\]\]\r\n\[\[Category:(.*?)\]\]" "[[Category:\2]]\n[[Category:\1]]" "\[\[Category:(.*? interviewed on Toby Hadoke's Who's Round)\]\]\r\n([\s\S]*)\r\n\[\[Category:(.*?)\]\]" "\2\n[[Category:\3]]\n[[Category:\1]]" "\[\[Category:(.*? interviewed on Toby Hadoke's Who's Round)\]\]\r\n\[\[Category:(.*?)\]\]" "[[Category:\2]]\n[[Category:\1]]" "\[\[Category:(.*? interviewed on Doctor Who Extra)\]\]\r\n([\s\S]*)\r\n\[\[Category:(.*?)\]\]" "\2\n[[Category:\3]]\n[[Category:\1]]" "\[\[Category:(.*? interviewed on Doctor Who Extra)\]\]\r\n\[\[Category:(.*?)\]\]" "[[Category:\2]]\n[[Category:\1]]" "\[\[Category:(.*? interviewed on Doctor Who Live)\]\]\r\n([\s\S]*)\r\n\[\[Category:(.*?)\]\]" "\2\n[[Category:\3]]\n[[Category:\1]]" "\[\[Category:(.*? interviewed on Doctor Who Live)\]\]\r\n\[\[Category:(.*?)\]\]" "[[Category:\2]]\n[[Category:\1]]" "\[\[Category:(Totally Doctor Who guests)\]\]\r\n([\s\S]*)\r\n\[\[Category:(.*?)\]\]" "\2\n[[Category:\3]]\n[[Category:\1]]" "\[\[Category:(Totally Doctor Who guests)\]\]\r\n\[\[Category:(.*?)\]\]" "[[Category:\2]]\n[[Category:\1]]" "\[\[Category:(.*? interviewed on Torchwood Declassified)\]\]\r\n([\s\S]*)\r\n\[\[Category:(.*?)\]\]" "\2\n[[Category:\3]]\n[[Category:\1]]" "\[\[Category:(.*? interviewed on Torchwood Declassified)\]\]\r\n\[\[Category:(.*?)\]\]" "[[Category:\2]]\n[[Category:\1]]" "\[\[Category:(.*? interviewed on Doctor Who Confidential)\]\]\r\n([\s\S]*)\r\n\[\[Category:(.*?)\]\]" "\2\n[[Category:\3]]\n[[Category:\1]]" "\[\[Category:(.*? interviewed on Doctor Who Confidential)\]\]\r\n\[\[Category:(.*?)\]\]" "[[Category:\2]]\n[[Category:\1]]" "-summary:Bringing interview cats to the bottom" -pt:2 -cat:"People interviewed on Doctor Who Extra" -cat:"People interviewed on Doctor Who Live" -cat:"People interviewed on The Fan Show" -catr:"People interviewed on Toby Hadoke's Who's Round"
python pwb.py replace -regex "\|( *)featuring( *)=( *)\[\[Trey\|Lady Trey\]\]" "|\1featuring\2=\3[[Lady Trey]]" "\|( *)featuring( *)=( *)(.*?)\[\[Trey\|Lady Trey\]\]" "|\1featuring\2=\3\4[[Lady Trey]]" "\r\n\|( *)featuring( *)=( *)\[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\]" "\n|\1featuring\2=\3\4\n|\1featuring2\2=\3\5\n|\1featuring3\2=\3\6\n|\1featuring4\2=\3\7\n|\1featuring5\2=\3\8\n|\1featuring6\2=\3\9\n|\1featuring7\2=\3\10\n|\1featuring8\2=\3\11\n|\1featuring9\2=\3\12\n|\1featuring10\2=\3\13" "\r\n\|( *)featuring( *)=( *)\[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\]" "\n|\1featuring\2=\3\4\n|\1featuring2\2=\3\5\n|\1featuring3\2=\3\6\n|\1featuring4\2=\3\7\n|\1featuring5\2=\3\8\n|\1featuring6\2=\3\9\n|\1featuring7\2=\3\10\n|\1featuring8\2=\3\11\n|\1featuring9\2=\3\12" "\r\n\|( *)featuring( *)=( *)\[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\]" "\n|\1featuring\2=\3\4\n|\1featuring2\2=\3\5\n|\1featuring3\2=\3\6\n|\1featuring4\2=\3\7\n|\1featuring5\2=\3\8\n|\1featuring6\2=\3\9\n|\1featuring7\2=\3\10\n|\1featuring8\2=\3\11" "\r\n\|( *)featuring( *)=( *)\[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\]" "\n|\1featuring\2=\3\4\n|\1featuring2\2=\3\5\n|\1featuring3\2=\3\6\n|\1featuring4\2=\3\7\n|\1featuring5\2=\3\8\n|\1featuring6\2=\3\9\n|\1featuring7\2=\3\10" "\r\n\|( *)featuring( *)=( *)\[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\]" "\n|\1featuring\2=\3\4\n|\1featuring2\2=\3\5\n|\1featuring3\2=\3\6\n|\1featuring4\2=\3\7\n|\1featuring5\2=\3\8\n|\1featuring6\2=\3\9" "\r\n\|( *)featuring( *)=( *)\[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\]" "\n|\1featuring\2=\3\4\n|\1featuring2\2=\3\5\n|\1featuring3\2=\3\6\n|\1featuring4\2=\3\7\n|\1featuring5\2=\3\8" "\r\n\|( *)featuring( *)=( *)\[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\]" "\n|\1featuring\2=\3\4\n|\1featuring2\2=\3\5\n|\1featuring3\2=\3\6\n|\1featuring4\2=\3\7" "\r\n\|( *)featuring( *)=( *)\[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\]" "\n|\1featuring\2=\3\4\n|\1featuring2\2=\3\5\n|\1featuring3\2=\3\6" "\r\n\|( *)featuring( *)=( *)\[\[(.*?)\]\], \[\[(.*?)\]\]" "\n|\1featuring\2=\3\4\n|\1featuring2\2=\3\5" "\r\n\|( *)featuring( *)=( *)\{\{il\|\[\[(.*?)\]\]\|\[\[(.*?)\]\]\|\[\[(.*?)\]\]\|\[\[(.*?)\]\]\|\[\[(.*?)\]\]\|\[\[(.*?)\]\]\|\[\[(.*?)\]\]\|\[\[(.*?)\]\]\|\[\[(.*?)\]\]\|\[\[(.*?)\]\]\}\}" "\n|\1featuring\2=\3\4\n|\1featuring2\2=\3\5\n|\1featuring3\2=\3\6\n|\1featuring4\2=\3\7\n|\1featuring5\2=\3\8\n|\1featuring6\2=\3\9\n|\1featuring7\2=\3\10\n|\1featuring8\2=\3\11\n|\1featuring9\2=\3\12\n|\1featuring10\2=\3\13" "\r\n\|( *)featuring( *)=( *)\{\{il\|\[\[(.*?)\]\]\|\[\[(.*?)\]\]\|\[\[(.*?)\]\]\|\[\[(.*?)\]\]\|\[\[(.*?)\]\]\|\[\[(.*?)\]\]\|\[\[(.*?)\]\]\|\[\[(.*?)\]\]\|\[\[(.*?)\]\]\}\}" "\n|\1featuring\2=\3\4\n|\1featuring2\2=\3\5\n|\1featuring3\2=\3\6\n|\1featuring4\2=\3\7\n|\1featuring5\2=\3\8\n|\1featuring6\2=\3\9\n|\1featuring7\2=\3\10\n|\1featuring8\2=\3\11\n|\1featuring9\2=\3\12" "\r\n\|( *)featuring( *)=( *)\{\{il\|\[\[(.*?)\]\]\|\[\[(.*?)\]\]\|\[\[(.*?)\]\]\|\[\[(.*?)\]\]\|\[\[(.*?)\]\]\|\[\[(.*?)\]\]\|\[\[(.*?)\]\]\|\[\[(.*?)\]\]\}\}" "\n|\1featuring\2=\3\4\n|\1featuring2\2=\3\5\n|\1featuring3\2=\3\6\n|\1featuring4\2=\3\7\n|\1featuring5\2=\3\8\n|\1featuring6\2=\3\9\n|\1featuring7\2=\3\10\n|\1featuring8\2=\3\11" "\r\n\|( *)featuring( *)=( *)\{\{il\|\[\[(.*?)\]\]\|\[\[(.*?)\]\]\|\[\[(.*?)\]\]\|\[\[(.*?)\]\]\|\[\[(.*?)\]\]\|\[\[(.*?)\]\]\|\[\[(.*?)\]\]\}\}" "\n|\1featuring\2=\3\4\n|\1featuring2\2=\3\5\n|\1featuring3\2=\3\6\n|\1featuring4\2=\3\7\n|\1featuring5\2=\3\8\n|\1featuring6\2=\3\9\n|\1featuring7\2=\3\10" "\r\n\|( *)featuring( *)=( *)\{\{il\|\[\[(.*?)\]\]\|\[\[(.*?)\]\]\|\[\[(.*?)\]\]\|\[\[(.*?)\]\]\|\[\[(.*?)\]\]\|\[\[(.*?)\]\]\}\}" "\n|\1featuring\2=\3\4\n|\1featuring2\2=\3\5\n|\1featuring3\2=\3\6\n|\1featuring4\2=\3\7\n|\1featuring5\2=\3\8\n|\1featuring6\2=\3\9" "\r\n\|( *)featuring( *)=( *)\{\{il\|\[\[(.*?)\]\]\|\[\[(.*?)\]\]\|\[\[(.*?)\]\]\|\[\[(.*?)\]\]\|\[\[(.*?)\]\]\}\}" "\n|\1featuring\2=\3\4\n|\1featuring2\2=\3\5\n|\1featuring3\2=\3\6\n|\1featuring4\2=\3\7\n|\1featuring5\2=\3\8" "\r\n\|( *)featuring( *)=( *)\{\{il\|\[\[(.*?)\]\]\|\[\[(.*?)\]\]\|\[\[(.*?)\]\]\|\[\[(.*?)\]\]\}\}" "\n|\1featuring\2=\3\4\n|\1featuring2\2=\3\5\n|\1featuring3\2=\3\6\n|\1featuring4\2=\3\7" "\r\n\|( *)featuring( *)=( *)\{\{il\|\[\[(.*?)\]\]\|\[\[(.*?)\]\]\|\[\[(.*?)\]\]\}\}" "\n|\1featuring\2=\3\4\n|\1featuring2\2=\3\5\n|\1featuring3\2=\3\6" "\r\n\|( *)featuring( *)=( *)\{\{il\|\[\[(.*?)\]\]\|\[\[(.*?)\]\]\}\}" "\n|\1featuring\2=\3\4\n|\1featuring2\2=\3\5" "\r\n\|( *)featuring( *)=( *)\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]" "\n|\1featuring\2=\3\4\n|\1featuring2\2=\3\5\n|\1featuring3\2=\3\6\n|\1featuring4\2=\3\7\n|\1featuring5\2=\3\8\n|\1featuring6\2=\3\9\n|\1featuring7\2=\3\10\n|\1featuring8\2=\3\11\n|\1featuring9\2=\3\12\n|\1featuring10\2=\3\13" "\r\n\|( *)featuring( *)=( *)\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]" "\n|\1featuring\2=\3\4\n|\1featuring2\2=\3\5\n|\1featuring3\2=\3\6\n|\1featuring4\2=\3\7\n|\1featuring5\2=\3\8\n|\1featuring6\2=\3\9\n|\1featuring7\2=\3\10\n|\1featuring8\2=\3\11\n|\1featuring9\2=\3\12" "\r\n\|( *)featuring( *)=( *)\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]" "\n|\1featuring\2=\3\4\n|\1featuring2\2=\3\5\n|\1featuring3\2=\3\6\n|\1featuring4\2=\3\7\n|\1featuring5\2=\3\8\n|\1featuring6\2=\3\9\n|\1featuring7\2=\3\10\n|\1featuring8\2=\3\11" "\r\n\|( *)featuring( *)=( *)\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]" "\n|\1featuring\2=\3\4\n|\1featuring2\2=\3\5\n|\1featuring3\2=\3\6\n|\1featuring4\2=\3\7\n|\1featuring5\2=\3\8\n|\1featuring6\2=\3\9\n|\1featuring7\2=\3\10" "\r\n\|( *)featuring( *)=( *)\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]" "\n|\1featuring\2=\3\4\n|\1featuring2\2=\3\5\n|\1featuring3\2=\3\6\n|\1featuring4\2=\3\7\n|\1featuring5\2=\3\8\n|\1featuring6\2=\3\9" "\r\n\|( *)featuring( *)=( *)\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]" "\n|\1featuring\2=\3\4\n|\1featuring2\2=\3\5\n|\1featuring3\2=\3\6\n|\1featuring4\2=\3\7\n|\1featuring5\2=\3\8" "\r\n\|( *)featuring( *)=( *)\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]" "\n|\1featuring\2=\3\4\n|\1featuring2\2=\3\5\n|\1featuring3\2=\3\6\n|\1featuring4\2=\3\7" "\r\n\|( *)featuring( *)=( *)\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]" "\n|\1featuring\2=\3\4\n|\1featuring2\2=\3\5\n|\1featuring3\2=\3\6" "\r\n\|( *)featuring( *)=( *)\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]" "\n|\1featuring\2=\3\4\n|\1featuring2\2=\3\5" "\|( *)featuring( *)=( *)(Alistair Gordon.*?-Stewart\|The Brigadier|\[\[Alistair Gordon.*?-Stewart\|The Brigadier\]\])" "|\1featuring\2=\3The Brigadier" "\|( *)featuring( *)=( *)(Alistair Gordon Lethbridge-Stewart\|The Brig|\[\[Alistair Gordon Lethbridge-Stewart\|The Brig\]\]|\[\[The Brig\]\])" "|\1featuring\2=\3The Brig" "\|( *)(featuring\d+)( *)=( *)(.*?)\|(.*?)\r\n" "|\1\2\3=\4\5\n" "\|( *)(featuring\d+)( *)=( *)(.*?)\|(.*?)\r\n" "|\1\2\3=\4\5\n" "\|( *)(featuring\d+)( *)=( *)(.*?)\|(.*?)\r\n" "|\1\2\3=\4\5\n" "-summary:Autolinking featuring variable" -pt:2 "\|( *)(featuring\d)   " "|\1\2  " "\|( *)(featuring\d\d)    " "|\1\2  " -start:"Doctor"
python pwb.py replace -regex "\r\n\|( *)interviewee( *)=( *)\[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\]" "\n|\1interviewee\2= \4\n|\1interviewee2\2= \5\n|\1interviewee3\2= \6\n|\1interviewee4\2= \7\n|\1interviewee5\2= \8\n|\1interviewee6\2= \9\n|\1interviewee7\2= \10\n|\1interviewee8\2= \11\n|\1interviewee9\2= \12\n|\1interviewee10\2= \13\n|\1interviewee11\2= \14" "\r\n\|( *)interviewee( *)=( *)\[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\]" "\n|\1interviewee\2= \4\n|\1interviewee2\2= \5\n|\1interviewee3\2= \6\n|\1interviewee4\2= \7\n|\1interviewee5\2= \8\n|\1interviewee6\2= \9\n|\1interviewee7\2= \10\n|\1interviewee8\2= \11\n|\1interviewee9\2= \12\n|\1interviewee10\2= \13" "\r\n\|( *)interviewee( *)=( *)\[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\]" "\n|\1interviewee\2= \4\n|\1interviewee2\2= \5\n|\1interviewee3\2= \6\n|\1interviewee4\2= \7\n|\1interviewee5\2= \8\n|\1interviewee6\2= \9\n|\1interviewee7\2= \10\n|\1interviewee8\2= \11\n|\1interviewee9\2= \12" "\r\n\|( *)interviewee( *)=( *)\[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\]" "\n|\1interviewee\2= \4\n|\1interviewee2\2= \5\n|\1interviewee3\2= \6\n|\1interviewee4\2= \7\n|\1interviewee5\2= \8\n|\1interviewee6\2= \9\n|\1interviewee7\2= \10\n|\1interviewee8\2= \11" "\r\n\|( *)interviewee( *)=( *)\[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\]" "\n|\1interviewee\2= \4\n|\1interviewee2\2= \5\n|\1interviewee3\2= \6\n|\1interviewee4\2= \7\n|\1interviewee5\2= \8\n|\1interviewee6\2= \9\n|\1interviewee7\2= \10" "\r\n\|( *)interviewee( *)=( *)\[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\]" "\n|\1interviewee\2= \4\n|\1interviewee2\2= \5\n|\1interviewee3\2= \6\n|\1interviewee4\2= \7\n|\1interviewee5\2= \8\n|\1interviewee6\2= \9" "\r\n\|( *)interviewee( *)=( *)\[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\]" "\n|\1interviewee\2= \4\n|\1interviewee2\2= \5\n|\1interviewee3\2= \6\n|\1interviewee4\2= \7\n|\1interviewee5\2= \8" "\r\n\|( *)interviewee( *)=( *)\[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\]" "\n|\1interviewee\2= \4\n|\1interviewee2\2= \5\n|\1interviewee3\2= \6\n|\1interviewee4\2= \7" "\r\n\|( *)interviewee( *)=( *)\[\[(.*?)\]\], \[\[(.*?)\]\], \[\[(.*?)\]\]" "\n|\1interviewee\2= \4\n|\1interviewee2\2= \5\n|\1interviewee3\2= \6" "\r\n\|( *)interviewee( *)=( *)\[\[(.*?)\]\], \[\[(.*?)\]\]" "\n|\1interviewee\2= \4\n|\1interviewee2\2= \5" "\r\n\|( *)interviewee( *)=( *)\[\[(.*?)\]\]\r\n" "\n|\1interviewee\2= \4\n" "\r\n\|( *)interviewee( *)=( *)\{\{il\|(.*?)\|(.*?)\|(.*?)\|(.*?)\|(.*?)\|(.*?)\|(.*?)\|(.*?)\|(.*?)\|(.*?)\}\}" "\n|\1interviewee\2= \4\n|\1interviewee2\2= \5\n|\1interviewee3\2= \6\n|\1interviewee4\2= \7\n|\1interviewee5\2= \8\n|\1interviewee6\2= \9\n|\1interviewee7\2= \10\n|\1interviewee8\2= \11\n|\1interviewee9\2= \12\n|\1interviewee10\2= \13" "\r\n\|( *)interviewee( *)=( *)\{\{il\|(.*?)\|(.*?)\|(.*?)\|(.*?)\|(.*?)\|(.*?)\|(.*?)\|(.*?)\|(.*?)\}\}" "\n|\1interviewee\2= \4\n|\1interviewee2\2= \5\n|\1interviewee3\2= \6\n|\1interviewee4\2= \7\n|\1interviewee5\2= \8\n|\1interviewee6\2= \9\n|\1interviewee7\2= \10\n|\1interviewee8\2= \11\n|\1interviewee9\2= \12" "\r\n\|( *)interviewee( *)=( *)\{\{il\|(.*?)\|(.*?)\|(.*?)\|(.*?)\|(.*?)\|(.*?)\|(.*?)\|(.*?)\}\}" "\n|\1interviewee\2= \4\n|\1interviewee2\2= \5\n|\1interviewee3\2= \6\n|\1interviewee4\2= \7\n|\1interviewee5\2= \8\n|\1interviewee6\2= \9\n|\1interviewee7\2= \10\n|\1interviewee8\2= \11" "\r\n\|( *)interviewee( *)=( *)\{\{il\|(.*?)\|(.*?)\|(.*?)\|(.*?)\|(.*?)\|(.*?)\|(.*?)\}\}" "\n|\1interviewee\2= \4\n|\1interviewee2\2= \5\n|\1interviewee3\2= \6\n|\1interviewee4\2= \7\n|\1interviewee5\2= \8\n|\1interviewee6\2= \9\n|\1interviewee7\2= \10" "\r\n\|( *)interviewee( *)=( *)\{\{il\|(.*?)\|(.*?)\|(.*?)\|(.*?)\|(.*?)\|(.*?)\}\}" "\n|\1interviewee\2= \4\n|\1interviewee2\2= \5\n|\1interviewee3\2= \6\n|\1interviewee4\2= \7\n|\1interviewee5\2= \8\n|\1interviewee6\2= \9" "\r\n\|( *)interviewee( *)=( *)\{\{il\|(.*?)\|(.*?)\|(.*?)\|(.*?)\|(.*?)\}\}" "\n|\1interviewee\2= \4\n|\1interviewee2\2= \5\n|\1interviewee3\2= \6\n|\1interviewee4\2= \7\n|\1interviewee5\2= \8" "\r\n\|( *)interviewee( *)=( *)\{\{il\|(.*?)\|(.*?)\|(.*?)\|(.*?)\}\}" "\n|\1interviewee\2= \4\n|\1interviewee2\2= \5\n|\1interviewee3\2= \6\n|\1interviewee4\2= \7" "\r\n\|( *)interviewee( *)=( *)\{\{il\|(.*?)\|(.*?)\|(.*?)\}\}" "\n|\1interviewee\2= \4\n|\1interviewee2\2= \5\n|\1interviewee3\2= \6" "\r\n\|( *)interviewee( *)=( *)\{\{il\|(.*?)\|(.*?)\}\}" "\n|\1interviewee\2= \4\n|\1interviewee2\2= \5" "\r\n\|( *)interviewee( *)=( *)\{\{il\|(.*?)\}\}\r\n" "\n|\1interviewee\2= \4\n" "\r\n\|( *)interviewee( *)=( *)\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]" "\n|\1interviewee\2= \4\n|interviewee2\2= \5\n|interviewee3\2= \6\n|interviewee4\2= \7\n|interviewee5\2= \8\n|interviewee6\2= \9\n|interviewee7\2= \10\n|interviewee8\2= \11\n|interviewee9\2= \12\n|interviewee10\2= \13" "\r\n\|( *)interviewee( *)=( *)\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]" "\n|\1interviewee\2= \4\n|interviewee2\2= \5\n|interviewee3\2= \6\n|interviewee4\2= \7\n|interviewee5\2= \8\n|interviewee6\2= \9\n|interviewee7\2= \10\n|interviewee8\2= \11\n|interviewee9\2= \12" "\r\n\|( *)interviewee( *)=( *)\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]" "\n|\1interviewee\2= \4\n|interviewee2\2= \5\n|interviewee3\2= \6\n|interviewee4\2= \7\n|interviewee5\2= \8\n|interviewee6\2= \9\n|interviewee7\2= \10\n|interviewee8\2= \11" "\r\n\|( *)interviewee( *)=( *)\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]" "\n|\1interviewee\2= \4\n|interviewee2\2= \5\n|interviewee3\2= \6\n|interviewee4\2= \7\n|interviewee5\2= \8\n|interviewee6\2= \9\n|interviewee7\2= \10" "\r\n\|( *)interviewee( *)=( *)\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]" "\n|\1interviewee\2= \4\n|interviewee2\2= \5\n|interviewee3\2= \6\n|interviewee4\2= \7\n|interviewee5\2= \8\n|interviewee6\2= \9" "\r\n\|( *)interviewee( *)=( *)\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]" "\n|\1interviewee\2= \4\n|interviewee2\2= \5\n|interviewee3\2= \6\n|interviewee4\2= \7\n|interviewee5\2= \8" "\r\n\|( *)interviewee( *)=( *)\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]" "\n|\1interviewee\2= \4\n|interviewee2\2= \5\n|interviewee3\2= \6\n|interviewee4\2= \7" "\r\n\|( *)interviewee( *)=( *)\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]" "\n|\1interviewee\2= \4\n|interviewee2\2= \5\n|interviewee3\2= \6" "\r\n\|( *)interviewee( *)=( *)\[\[(.*?)\]\]\<br */*\>\[\[(.*?)\]\]" "\n|\1interviewee\2= \4\n|interviewee2\2= \5" "\|( *)(interviewee|\1interviewee.*)( *)=( *)(.*?)\|(.*?)\r\n" "|\1\2\3=\4\5\n" "\|( *)(interviewee|\1interviewee.*)( *)=( *)(.*?)\|(.*?)\r\n" "|\1\2\3=\4\5\n" "\|( *)(interviewee|\1interviewee.*)( *)=( *)(.*?)\|(.*?)\r\n" "|\1\2\3=\4\5\n" "\|( *)(interviewee\d)   " "|\1\2  " "\|( *)(interviewee\d\d)    " "|\1\2  " -summary:"Autolinking interviewee variable" -pt:2 -start:"D"
python pwb.py replace -cat:"Disambiguation pages" -regex "\*( *)''\[\[(.*?) \((.*?)\)\|\2\]\]''" "*\1[[\2 (\3)|''\2'' (\3)]]" "\*( *)\[\[(.*?) \((.*?)\)\|\2\]\]" "*\1[[\2 (\3)]]" -pt:2

Special feature videos

Test

This is the test. Yes, very boring.

Bot runs to continue

Manual work

python pwb.py replace -cat:"Pages with inline Wikipedia links that correspond to pages at Tardis" -regex "\{\{(w|wi)\|(.*?)\|\2\}\}" "{{\1|\2}}" "\{\{wi\|(.*?)\}\}" "''[[\1]]''" "\{\{w\|(.*?)\}\}" "[[\1]]" -pt:2 -summary:"We have a page for this at Tardis"
python pwb.py replace -catr:"Stories" -regex "\{\{(w|wi)\|(.*?)\|\2\}\}" "{{\1|\2}}" "\{\{wi\|(.*?)\}\}" "''[[\1]]''" "\{\{w\|(.*?)\}\}" "[[\1]]" -pt:2

Semi-manual work

python pwb.py replace -transcludes:"real world" -regex "\{\{real world\}\}\{\{(.*?)stub\}\}\r\n\{\{title dab away\}\}\r\n([\s\S]*?)\}\}" "{{title dab away}}\n{{real world}}\n\2}}{{\1stub}}" "\{\{ImageLink(.*?)\}\}\{\{real world\}\}\{\{title dab away\}\}\{\{Infobox" "{{title dab away}}\n{{real world}}\n{{ImageLink\1}}\n{{Infobox" "\{\{ImageLink(.*?)\}\}( *)\r\n\{\{[Rr]eal world\}\}( *)\r\n\{\{[Tt]itle dab away\}\}" "{{title dab away}}\n{{real world}}\n{{ImageLink\1}}" "\{\{ImageLink(.*?)\}\}\{\{[Rr]eal world\}\}\{\{[Tt]itle dab away\}\}" "{{title dab away}}\n{{real world}}\n{{ImageLink\1}}" "\{\{[Rr]eal world\}\}\{\{[Tt]itle dab away\}\}" "{{title dab away}}\n{{real world}}" "\{\{real world\}\}\{\{[Rr]etitle\|(\'\'|.)(\{\{PAGENAME\}\})(\'\'|.)\}\}" "{{retitle|\1\2\3}}\n{{real world}}" "\{\{real world\}\}\{\{[Rr]etitle\|(.*?)\}\}" "{{retitle|\1}}\n{{real world}}" "\{\{real world\}\}\{\{ImageLink(.*?)\}\}\{\{[Tt]itle dab away\}\}" "{{title dab away}}\n{{real world}}\n{{ImageLink\1}}" "\{\{real world\}\}\{\{target years\}\}" "{{real world}}\n{{target years}}" "\{\{real world\}\} \r\n" "{{real world}}\n" "\{\{real world\}\}(.+)\r\n" "{{real world}}\n\1\n" "\{\{real world\}\}\r\n\r\n" "{{real world}}\n" -pt:2 -summary:"Standardising template spacing and order"
python pwb.py replace -start:"The Hopes" -regex "\*( *)\[(http|https)://(.*?) (.*?) (website|site|Website|Site|homepage|home page)]" "{{official website|\3}}" -pt:2
python pwb.py replace -start:"Cyberman" -regex "\*( *)\[(http|https)://(.*?) (.*?) (site|Site)]" "{{official website|\3}}" -pt:2
python pwb.py replace -start:"Alexei" -regex "\*( *)\[(http|https)://(.*?) (.*?) (Site|Website|homepage|home page)]" "{{official website|\3}}" -pt:2
python pwb.py replace -start:"A" -regex "\*( *)\[(http|https)://(.*?) (.*?) (homepage|home page)]" "{{official website|\3}}" -pt:2

Next

Semi-manual work

python pwb.py replace -start:A -regex "\*( *)\[(http|https)://(.*?) (.*?) (website|site|Website|Site)]" "{{official website|\3|\4 website}}" -pt:2

Automatic runs

python pwb.py replace -transcludes:"real world" "{{Real world}}" "{{real world}}" -summary:"standardising capitalisation on {{real world}}" -pt:2