User:SOTO/bot

The War Doctor # X .3

To-do
 python touch.py -transcludes:"Infobox Story" -pt:1  python replace.py -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:1
 * Make sure is everywhere beginning with "A" or "The".
 * Make sure is on all character pages, and all real world people pages, where applicable.
 * Also and.
 * is at least missing from DWDVDF issues
 * Manual run to change " " to " "

 python replace.py -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:1  python replace.py -regex -ref:"The Doctor's TARDIS" "\[\[([Tt]he Doctor's TARDIS|[Tt]he TARDIS)\#Library\|TARDIS library\]\]" "TARDIS library" -summary:"Linking" -pt:1

 python replace.py -regex "(\|\|\)" "" -summary:"Removing tags" -start:! -pt:1  python replace.py -regex "\[\[(TV|AUDIO|COMIC|PROSE|GAME|REF|DOC|WC|NOTVALID)\]\]: \[\[(.*?) \((.*?)\)\|(.*?)\]\]" "\1: \3" summary:"Piped italics fix" -start:! -pt:1  python replace.py -regex "\[\[(.*?)\|\1\]\]" "\1" "\[\[(.*?) \((.*?)\)\|\1\]\]" "\1" -summary:"Piped italics fix" -start:! -pt:1  python replace.py -regex "\[\[(.*?)\|(.*?)\]\]" "\2" -summary:"Piped italics fix" -start:! -pt:1
 * Fix for "|thumb", with underscores and with spaces.


 * Append bullet points ("*") to all instances of . Then add it to the template itself, and update all instances accordingly.

 python replace.py -regex "(\{\{wi\|Emmerdale\}\}|\{\{w\|Emmerdale\}\})" "Emmerdale" -ref:"Emmerdale" -summary:"Linking Emmerdale" -pt:1


 * Implement and  from URLs, mobile and desktop (Sonic the Hedgehog, Sonic the Comic)

 python replace.py -regex "\[\[(:wikipedia|wikipedia):(.*?)\|(.*?)\]\]" "" "\[\[(:wikipedia|wikipedia):(.*?)\|(.*?)\]\]" "" "\{\{(w|wi)\|(.*?)\|\2\}\}" "" "\{\{(w|wi)\|(\w)(.*?)\|(\w)\3\}\}" "" "\{\{(w|wi)\|(\w)(.*?)\|(\w)\3(s)\}\}" "" -summary:" and " -start:! -pt:1


 * Category:Stories by theme music

Continue immediately
 python replace.py "{{Infobox_" "{{Infobox " -summary:"Infobox" -start:"John Harrison" -pt:1 <pre style="background:black!important;color:white"> python replace.py -regex "==( *)External Links( *)==" "==\1External links\2==" -summary:"T:HEAD" -start:"The Lady" -pt:1 <pre style="background:black!important;color:white"> 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|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:"Spacing" -start:Dom -pt:1 <pre style="background:black!important;color:white"> python replace.py -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:1 <pre style="background:black!important;color:white"> python replace.py -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|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|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|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|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|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|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" "Agatha Christie's Poirot" "\{\{wi\|(Star Trek: Deep Space Nine)\}\}" "\1" "(Star Trek: Deep Space Nine)" "\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: Prince of Thieves" "Prometheus" "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" "{{iw|thebill|The Bill}}" "The Bill" -summary:"linking" " covers all licensed \[\[Star Wars\]\] works" " covers all licensed Star Wars works" -pt:1 -start:! <pre style="background:black!important;color:white"> python replace.py -summary:"Cosmetic infobox fixes" -regex "\{\{Infobox([\s\S]*)\r\n\|\}\}" "{{Infobox\1\n}}" "\{\{Infobox([\s\S]*)( *)\|\}\}" "{{Infobox\1\n}}" -pt:1 -start:"Doctor Who Experience" <pre style="background:black!important;color:white"> python replace.py -summary:"Cosmetic infobox fixes" -regex "\|( *)(only|first|first mention)( *)=( *)(.*?) \((.*?)\)\|\3" "|\1\2\3=\4\5 (\6)" -pt:1 -start:"Art" -always <pre style="background:black!important;color:white"> python replace.py -regex "\r\n\{\{\#ifeq:\{\{PAGENAME\}\}\|(.*)\|\}\}" "" -summary:"-preload remnant" -pt:1 -start:"Eye" <pre style="background:black!important;color:white"> python replace.py -links:"Kiss" "kiss" "kiss" -excepttext:"kiss" -pt:1 <pre style="background:black!important;color:white;fontsize:.5em"> python replace.py -cat:"Production team titles" "he is she is" "they are" "he or she" "they" -pt:1
 * Check phone for further runs

Then
<pre style="background:black!important;color:white;font-size:.9em"> python replace.py -regex "\[\[Category:(.*? interviewed on The Fan Show)\]\]\r\n([\s\S]*)\r\n\[\[Category:(.*?)\]\]" "\2\n\n" "\[\[Category:(.*? interviewed on The Fan Show)\]\]\r\n\[\[Category:(.*?)\]\]" "\n" "\[\[Category:(.*? interviewed on Toby Hadoke's Who's Round)\]\]\r\n([\s\S]*)\r\n\[\[Category:(.*?)\]\]" "\2\n\n" "\[\[Category:(.*? interviewed on Toby Hadoke's Who's Round)\]\]\r\n\[\[Category:(.*?)\]\]" "\n" "\[\[Category:(.*? interviewed on Doctor Who Extra)\]\]\r\n([\s\S]*)\r\n\[\[Category:(.*?)\]\]" "\2\n\n" "\[\[Category:(.*? interviewed on Doctor Who Extra)\]\]\r\n\[\[Category:(.*?)\]\]" "\n" "\[\[Category:(.*? interviewed on Doctor Who Live)\]\]\r\n([\s\S]*)\r\n\[\[Category:(.*?)\]\]" "\2\n\n" "\[\[Category:(.*? interviewed on Doctor Who Live)\]\]\r\n\[\[Category:(.*?)\]\]" "\n" "\[\[Category:(Totally Doctor Who guests)\]\]\r\n([\s\S]*)\r\n\[\[Category:(.*?)\]\]" "\2\n\n" "\[\[Category:(Totally Doctor Who guests)\]\]\r\n\[\[Category:(.*?)\]\]" "\n" "\[\[Category:(.*? interviewed on Torchwood Declassified)\]\]\r\n([\s\S]*)\r\n\[\[Category:(.*?)\]\]" "\2\n\n" "\[\[Category:(.*? interviewed on Torchwood Declassified)\]\]\r\n\[\[Category:(.*?)\]\]" "\n" "\[\[Category:(.*? interviewed on Doctor Who Confidential)\]\]\r\n([\s\S]*)\r\n\[\[Category:(.*?)\]\]" "\2\n\n" "\[\[Category:(.*? interviewed on Doctor Who Confidential)\]\]\r\n\[\[Category:(.*?)\]\]" "\n" "-summary:Bringing interview cats to the bottom" -pt:1 -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"

<pre style="background:black!important;color:white;font-size:.8em"> python replace.py -regex "\|( *)featuring( *)=( *)\[\[Trey\|Lady Trey\]\]" "|\1featuring\2=\3Lady Trey" "\|( *)featuring( *)=( *)(.*?)\[\[Trey\|Lady Trey\]\]" "|\1featuring\2=\3\4Lady 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:1 "\|( *)(featuring\d)  " "|\1\2  " "\|( *)(featuring\d\d)    " "|\1\2  " -start:"Doctor"

<pre style="background:black!important;color:white;font-size:.7em"> python replace.py -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:1 -start:"D"

<pre style="background:black!important;color:white"> python replace.py -cat:"Disambiguation pages" -regex "\*( *)\[\[(.*?) \((.*?)\)\|\2\]\]" "*\1\2 (\3)" "\*( *)\[\[(.*?) \((.*?)\)\|\2\]\]" "*\1\2 (\3)" -pt:1

Test
This is the test. Yes, very boring.

Manual work
<pre style="background:black!important;color:white"> python replace.py -cat:"Pages with inline Wikipedia links that correspond to pages at Tardis" -regex "\{\{(w|wi)\|(.*?)\|\2\}\}" "" "\{\{wi\|(.*?)\}\}" "\1" "\{\{w\|(.*?)\}\}" "\1" -pt:1 -summary:"We have a page for this at Tardis" <pre style="background:black!important;color:white"> python replace.py -catr:"Stories" -regex "\{\{(w|wi)\|(.*?)\|\2\}\}" "" "\{\{wi\|(.*?)\}\}" "\1" "\{\{w\|(.*?)\}\}" "\1" -pt:1

Semi-manual work

 * Change Scientific Adviser links, and redirect to scientific advisor.
 * Perhaps move scientific advisor.

<pre style="background:black!important;color:white"> python replace.py -transcludes:"real world" -regex "\{\{real world\}\}\{\{(.*?)stub\}\}\r\n\{\{title dab away\}\}\r\n([\s\S]*?)\}\}" "\n\n\2}}" "\{\{ImageLink(.*?)\}\}\{\{real world\}\}\{\{title dab away\}\}\{\{Infobox" "\n\n\n{{Infobox" "\{\{ImageLink(.*?)\}\}( *)\r\n\{\{[Rr]eal world\}\}( *)\r\n\{\{[Tt]itle dab away\}\}" "\n\n" "\{\{ImageLink(.*?)\}\}\{\{[Rr]eal world\}\}\{\{[Tt]itle dab away\}\}" "\n\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:1 -summary:"Standardising template spacing and order"

<pre style="background:black!important;color:white"> python replace.py -start:"The Hopes" -regex "\*( *)\[(http|https)://(.*?) (.*?) (website|site|Website|Site|homepage|home page)]" "{{official website|\3}}" -pt:1

<pre style="background:black!important;color:white"> python replace.py -start:"Cyberman" -regex "\*( *)\[(http|https)://(.*?) (.*?) (site|Site)]" "{{official website|\3}}" -pt:1

<pre style="background:black!important;color:white"> python replace.py -start:"Alexei" -regex "\*( *)\[(http|https)://(.*?) (.*?) (Site|Website|homepage|home page)]" "{{official website|\3}}" -pt:1

<pre style="background:black!important;color:white"> python replace.py -start:"A" -regex "\*( *)\[(http|https)://(.*?) (.*?) (homepage|home page)]" "{{official website|\3}}" -pt:1

Semi-manual work
<pre style="background:black!important;color:white"> python replace.py -start:A -regex "\*( *)\[(http|https)://(.*?) (.*?) (website|site|Website|Site)]" "" -pt:1

Automatic runs
<pre style="background:black!important;color:white"> python replace.py -transcludes:"real world" "" "" -summary:"standardising capitalisation on " -pt:1