Benutzer:PlasmarelaisBot

aus Memory Alpha, der freien deutschen Star-Trek-Datenbank
Version vom 26. März 2014, 19:06 Uhr von imported>Plasmarelais (Dinge, von denen Plasmarelais glaubt, dass PlasmarelaisBot sie kann: zumindest im Moment mit den aktuellen Frameworks geht es nicht... ich bleibe dran.)
Spring zu: Navigation, suche
Dies ist die Benutzerseite des PlasmarelaisBots, der mit Textersetzungen und Interwikilinks in der deutschsprachigen MA bislang 12.301 Bearbeitungen durchgeführt hat. Er wird von Plasmarelais betreut. Anmerkungen und Hinweise können bitte auf der Diskussionsseite von Plasmarelais hinterlassen werden.

Der Klick eines Admins auf den nebenstehenden Alarmknopf dürfte die Arbeit des Bots im Notfall sofort einstellen!

python-portable.exe ma\pwb.py ma\scripts\script.py
pwb.py scripts\script.py
Roter Alarm 2280er.svg
Notabschaltung

Dinge, von denen Plasmarelais glaubt, dass PlasmarelaisBot sie kann

  • Hinzufügen von Text (z.B. für Kategorien u.ä.)
  • einfache und komplexere Textersetzungen in allen/bestimmten Seiten bzw. in bestimmten Seitenmengen

*Interwiki-Links:

    • in (de:) ergänzen, wenn eine verlinkte fremde Seite auf die neue Sprache linkt
    • Seiten ohne IWL aufspüren
    • fehlende IWL in anderen Sprachräumen auflisten
  • doppelte/kaputte Redirects beheben/reparieren
  • nicht erreichbare externe Links aufspüren

Technik

Updates

13.01.2009
ActivePython 2.6.1.1
14.01.2009
Edit: Fix incorrect export page (siehe MediaWiki)
Edit: Fix credit line (siehe Bots in der MA/en)
13.05.2009
ActivePython 2.6.2.2 (kein Fix credit line mehr nötig)
pywikipedia-nightly 6877
02.02.2011
ActivePython 2.7
pywikipedia-nightly 8908
04.02.2011
ActivePython 2.7.1.4
pywikipedia-nightly 9016
23.03.2014
ActivePython 2.7.5
pywikipedia-nightly/core 2669

interwiki.py

weblinkchecker.py

replace.py

Vorschläge zur Textersetzung

Hier kann jeder Beispiele für häufig auftretende Tipp- und Rechtschreibfehler aufführen, die vom Bot behoben werden können. Die Liste von Tippfehlern gehe ich schon durch.

  • Lizenzierung statt Lizensierung -- Plasmarelais Ξ TALK Ξ 19:51, 15. Jan. 2009 (UTC)
  • muss statt muß bzw. außerdem statt ausserdem wurde ja schon angefangen, per Hand zu ändern. Das wäre eine gute Aufgabe für den Bot. Es können dann aber auch Probleme entstehen, das hatten wir ja hier. Und den Bot hierbei jedes Mal zu überprüfen... Was meint ihr?--Andy Riker < just talk> 20:00, 15. Jan. 2009 (UTC)

Jobs

  • Ersetzungen:
    • „Lizensierung“ ersetzt durch „Lizenzierung“
    • „entgültig“ ersetzt durch „endgültig“
    • „Enterpise“ ersetzt durch „Enterprise“
    • „Förderation“ ersetzt durch „Föderation“
    • „gesammt“ ersetzt durch „gesamt“
    • „der selbe“ ersetzt durch „derselbe“
    • „herraus“ ersetzt durch „heraus“
    • „aussen“/„ausser“ ersetzt durch „außen“/„außer“
    • „währe“ ersetzt durch „wäre“
    • „daß“ ersetzt durch „dass“
    • ~„aßt“/~„ußt“ ersetzt durch ~„asst“/~„usst“
  • alte Quellen ohne Vorlage durch Suche von ([[XYZ]]: und ''[[XYZ]]: aufgespürt
  • <br style="clear:both;" /> ersetzt gegen {{clear}}
  • Episoden-Sidebar in VOY (weitgehend)
    Code:

    replace.py -regex -links:Benutzer:Plasmarelais/Test "colspan=\"2\" align=\"center\" \| \[\[Bild:" " Bild= " "\{\| class=\"wiki-sidebar\" align=\"right\"\s\s" "{{Episoden-Sidebar|\n| Titel= {{PAGENAME}}\n" "\| class=\"odd\"\|Serie:\s\s\| class=\"even\"\|\[\[" "| Serie= " "\| class=\"odd\"\|Staffel:\s\s\| class=\"even\"\|\[\[VOY Staffel" "| Staffel=" "\|[1-7]{1}\]\]" "\n| Episode= " "\| class=\"odd\"\|dt\. Erstaus-<br/>strahlung:\s\s\| class=\"even\"\|(?P<Tde>[0-9]{2})[.](?P<Mde>[0-9]{2})[.](?P<Jde>[0-9]{4})" "| AusstrahlJahrDe= \g<Jde>\n|AusstrahlMonatDe= \g<Mde>\n| AusstrahlTagDe= \g<Tde>" "\| class=\"odd\"\|Orig. Erst-<br/>ausstrahlung:\s\s\| class=\"even\"\|(?P<Ten>[0-9]{2})[.](?P<Men>[0-9]{2})[.](?P<Jen>[0-9]{4})" "| AusstrahlJahr= \g<Jen>\n| AusstrahlMonat= \g<Men>\n| AusstrahlTag= \g<Ten>" "\| class=\"odd\"\|Originaltitel:\s\s\| class=\"even\"\|\[\[:en:(?P<OL>.+?)\|(?P<OT>.+?)\]\]" "| OriginalLink= [[:en:\g<OL>]]\n| OriginalTitel= \g<OT>" "\| class=\"odd\"\|Prod\. Nr:\s\s\| class=\"even\"\|" "| ProdNr= " "\| class=\"odd\"\|Jahr:\s\s\| class=\"even\"\|\[\[" "| Jahr= " "\| class=\"odd\"\|Sternzeit:\s\s\| class=\"even\"\|" "| ErsteSternzeit= " "\| class=\"odd\"\|Story:\s\s\| class=\"even\"\|" "| LetzteSternzeit= \n| Story= " "\| class=\"odd\"\|Drehbuch:\s\s\| class=\"even\"\|" "| Drehbuch= " "\| class=\"odd\"\|Regie:\s\s\| class=\"even\"\|" "| Regie= " "\| class=\"odd\"\|Autor:\s\s\| class=\"even\"\|" "| Autor= " "\|-\s\s" "" "\|-" "" "\|200px\]\]" "" "\|\}" "|RemAusstrahlJahr=\n|RemAusstrahlMonat=\n| RemAusstrahlTag=\n}}" "Serie= VOY\]\]" "Serie= VOY" "Jahr= 237(?P<year>[0-9]{1})\]\]" "Jahr= 237\g<year>" -summary:Episodensidebar

  • Episoden-Sidebar in DS9 (weitgehend)
    Code:

    replace.py -regex -links:Benutzer:Plasmarelais/Test "\[\[Image:" "[[Bild:" "Autoren:" "Autor:" "colspan=\"2\".*\[\[Bild:" " Bild= " "\{\| class=\"wiki-sidebar\" align=\"right\"\s\s" "{{Episoden-Sidebar|\n| Titel= {{PAGENAME}}\n| Bild= \n" "\| class=\"odd\"\|Serie:\s\s\| class=\"even\"\|\[\[" "| Serie= " "\| class=\"odd\"\|Staffel:\s\s\| class=\"even\"\|\[\[DS9 Staffel" "| Staffel=" "\|[1-7]{1}\]\]" "\n| Episode= " "\| class=\"odd\"\|dt\. Erstaus-<br/>strahlung:\s\s\| class=\"even\"\|(?P<Tde>[0-9]{2})[.](?P<Mde>[0-9]{2})[.](?P<Jde>[0-9]{4})" "| AusstrahlJahrDe= \g<Jde>\n|AusstrahlMonatDe= \g<Mde>\n| AusstrahlTagDe= \g<Tde>" "\| class=\"odd\"\|Orig. Erst-<br/>ausstrahlung:\s\s\| class=\"even\"\|(?P<Ten>[0-9]{2})[.](?P<Men>[0-9]{2})[.](?P<Jen>[0-9]{4})" "| AusstrahlJahr= \g<Jen>\n| AusstrahlMonat= \g<Men>\n| AusstrahlTag= \g<Ten>" "\| class=\"odd\"\|Originaltitel:\s\s\| class=\"even\"\|\[\[:en:(?P<OL>.+?)\|(?P<OT>.+?)\]\]" "| OriginalLink= [[:en:\g<OL>]]\n| OriginalTitel= \g<OT>" "\| class=\"odd\"\|Prod\. Nr:\s\s\| class=\"even\"\|" "| ProdNr= " "\| class=\"odd\"\|Jahr:\s\s\| class=\"even\"\|\[\[" "| Jahr= " "\| class=\"odd\"\|Sternzeit:\s\s\| class=\"even\"\|(?P<sdate>.+?)\s\s" "| ErsteSternzeit= \g<sdate>\n| LetzteSternzeit= \n" "\| class=\"odd\"\|Story:\s\s\| class=\"even\"\|" "| Story= " "Teleplay:" "Drehbuch:" "\| class=\"odd\"\|Drehbuch:\s\s\| class=\"even\"\|" "| Drehbuch= " "\| class=\"odd\"\|Regie:\s\s\| class=\"even\"\|" "| Regie= " "\| class=\"odd\"\|Autor:\s\s\| class=\"even\"\|" "| Autor= " "\|-\s\s" "" "\|-" "" "\|200px\]\]" "" "\|\}" "|RemAusstrahlJahr=\n|RemAusstrahlMonat=\n| RemAusstrahlTag=\n}}" "Serie= DS9\]\]" "Serie= DS9" "Jahr= 237(?P<year>[0-9]{1})\]\]" "Jahr= 237\g<year>" "(?P<attr>[A-Za-z]{5,8})= \[\[(?P<argum>.+?)\]\]" "\g<attr>= \g<argum>" "\| Bild=\s\s\| Bild=" "| Bild=" -summary:Episodensidebar

  • Episoden-Sidebar in ENT (weitgehend)
    Code:

    replace.py -regex -page:Horizon "\[\[Image:" "[[Bild:" "Autoren:" "Autor:" "colspan=\"2\".*\[\[Bild:" " Bild= " "\{\| class=\"wiki-sidebar\" align=\"right\"\s\s" "{{Episoden-Sidebar|\n| Titel= {{SUBST:PAGENAME}}\n| Bild= \n" "\| class=\"odd\"\|Serie:\s\s\| class=\"even\"\|\[\[" "| Serie= " "\| class=\"odd\"\|Staffel:\s\s\| class=\"even\"\|\[\[ENT Staffel" "| Staffel=" "\|[1-7]{1}\]\]" "\n| Episode= " "\| class=\"odd\"\|dt\. Erstaus-<br/>strahlung:\s\s\| class=\"even\"\|(?P<Tde>[0-9]{2})[.](?P<Mde>[0-9]{2})[.](?P<Jde>[0-9]{4})" "| AusstrahlJahrDe= \g<Jde>\n|AusstrahlMonatDe= \g<Mde>\n| AusstrahlTagDe= \g<Tde>" "\| class=\"odd\"\|Orig\. Erst-<br/>ausstrahlung:\s\s\| class=\"even\"\|(?P<Ten>[0-9]{2})[.](?P<Men>[0-9]{2})[.](?P<Jen>[0-9]{4})" "| AusstrahlJahr= \g<Jen>\n| AusstrahlMonat= \g<Men>\n| AusstrahlTag= \g<Ten>" "\| class=\"odd\"\|Originaltitel:\s\s\| class=\"even\"\|\[\[:en:(?P<OL>.+?)\|(?P<OT>.+?)\]\]" "| OriginalLink= [[:en:\g<OL>]]\n| OriginalTitel= \g<OT>" "\| class=\"odd\"\|Prod\. Nr:\s\s\| class=\"even\"\|" "| ProdNr= " "\| class=\"odd\"\|Jahr:\s\s\| class=\"even\"\|\[\[" "| Jahr= " "\| class=\"odd\"\|Datum:\s\s\| class=\"even\"\|(?P<sdate>.+?)\s\s" "| Datum= \g<sdate>\n" "\| class=\"odd\"\|Story:\s\s\| class=\"even\"\|" "| Story= " "Teleplay:" "Drehbuch:" "\| class=\"odd\"\|Drehbuch:\s\s\| class=\"even\"\|" "| Drehbuch= " "\| class=\"odd\"\|Regie:\s\s\| class=\"even\"\|" "| Regie= " "\| class=\"odd\"\|Autor:\s\s\| class=\"even\"\|" "| Autor= " "\|-\s\s" "" "\|-" "" "\|200px\]\]" "" "\|\}" "|RemAusstrahlJahr=\n|RemAusstrahlMonat=\n| RemAusstrahlTag=\n}}" "Serie= ENT\]\]" "Serie= ENT" "Jahr= 215(?P<year>[0-9]{1})\]\]" "Jahr= 215\g<year>" "(?P<attr>[A-Za-z]{5,8})= \[\[(?P<argum>.+?)\]\]" "\g<attr>= \g<argum>" "\| Bild=\s\s\| Bild=" "| Bild=" -summary:Episodensidebar

  • Einbinden der Vorlage TOS-R im Namensraum Datei
    Code:

    replace.py -start:Datei:! -regex "\(\{\{TOS\|(?P<Eps>.+?)\}\} - \[\[TOS Remastered\|Remastered\]\]\)" "({{TOS-R|\g<Eps>}})" -summary:Vorlage_TOS-R

    replace.py -start:Datei:! -regex "\(\{\{TOS\|(?P<Eps>.+?)\}\} - \[\[Star Trek: The Original Series - Remastered\|Remastered\]\]\)" "({{TOS-R|\g<Eps>}})" -summary:Vorlage_TOS-R

  • Datumsseiten: Füge Definitionsliste hinzu, ändere „US Erstausstrahlung“ in „US-Erstausstrahlung“, lösche „<noinclude></noinclude>“
    Code:

    replace.py -file:tage.txt -regex "'''(?P<year>[0-9]{4})''': " ";\g<year>:" "'''(?P<year>[0-9]{4}):''' " ";\g<year>:" "\s\s\s\s" "\n" "US Erstausstrahlung" "US-Erstausstrahlung" "<noinclude></noinclude>\s\s" "" -summary:"Bot: Definitionsliste, Bindestrich"

  • Drei Punkte ... durch Auslassungszeichen ersetzt:
    Code:

    replace.py -regex "\.\.\.(?!\]\])(?! (episode))(?!(episode))" "…" -summary:"Bot: Tausche ... gegen …" -start:!

  • Bindestrich - an passender Stelle gegen Gedankenstrich – ersetzt:
    Code:

    replace.py -regex "(?P<vorne>[A-Za-zÄÖÜäöüß]{1}) - (?P<hinten>[A-Za-zÄÖÜäöü]{1}(?!abu, Teil)(?!as Spiel)(?!nerwünscht)(?!andenwesen)(?!on A bis Z)(?!ergessenheit)(?!er Mächtige)(?!emastered)(?!lite Force)(?!he MovieCollection)(?!rossroads)(?!ie Realisierung einer Idee)(?!ominion Wars)(?!he Fallen)(?!ie verlorene Generation)(?!mpires)(?!rion Pirates)(?! Final Unity)(?!irth of the Federation)(?!ncounter at Farpoint)(?!lingon Honor Guard)(?!riginal Television Soundtrack)(?!ountdown)(?!hase II)(?!fter Eight)(?!amily Matters)(?!ouble Seven)(?!en Forward)(?!er Vater des Transporters)(?!ie absolute Rache)(?!ein Verbündeter)(?!ie Classic Serie)(?!ödlicher Staub aus))" "\g<vorne> – \g<hinten>" "\]\] - (?P<hinten1>[A-Za-zäöüß]{1})" "]] – \g<hinten1>" "(?P<vorne1>[A-Za-zäöüÄÖÜß]{1}) - \[\[" "\g<vorne1> – [[" "\]\] - \[\[" "]] – [[" -summary:"Bot:Tausche - gegen –" -start:!

  • Vorlage:S für die einheitliche Darstellung der Serientitel einbauen:
    Code:

    replace.py -regex "\'\'\[\[Star Trek: The Original Series\]\]\'\'" "{{S|TOS}}" "\'\'\"\[\[Star Trek: The Original Series\]\]\"\'\'" "{{S|TOS}}" "\"\[\[Star Trek: The Original Series\]\]\"" "{{S|TOS}}" "„\[\[Star Trek: The Original Series\]\]“" "{{S|TOS}}" "\[\[Star Trek: The Original Series\]\]" "{{S|TOS}}" "\'\'\[\[Star Trek: The Animated Series\]\]\'\'" "{{S|TAS}}" "\'\'\"\[\[Star Trek: The Animated Series\]\]\"\'\'" "{{S|TAS}}" "\"\[\[Star Trek: The Animated Series\]\]\"" "{{S|TAS}}" "„\[\[Star Trek: The Animated Series\]\]“" "{{S|TAS}}" "\[\[Star Trek: The Animated Series\]\]" "{{S|TAS}}" "\'\'\[\[Star Trek: The Next Generation\]\]\'\'" "{{S|TNG}}" "\'\'\"\[\[Star Trek: The Next Generation\]\]\"\'\'" "{{S|TNG}}" "\"\[\[Star Trek: The Next Generation\]\]\"" "{{S|TNG}}" "„\[\[Star Trek: The Next Generation\]\]“" "{{S|TNG}}" "\[\[Star Trek: The Next Generation\]\]" "{{S|TNG}}" "\'\'\[\[Star Trek: Deep Space Nine\]\]\'\'" "{{S|DS9}}" "\'\'\"\[\[Star Trek: Deep Space Nine\]\]\"\'\'" "{{S|DS9}}" "\"\[\[Star Trek: Deep Space Nine\]\]\"" "{{S|DS9}}" "„\[\[Star Trek: Deep Space Nine\]\]“" "{{S|DS9}}" "\[\[Star Trek: Deep Space Nine\]\]" "{{S|DS9}}" "\'\'\[\[Star Trek: Voyager\]\]\'\'" "{{S|VOY}}" "\'\'\"\[\[Star Trek: Voyager\]\]\"\'\'" "{{S|VOY}}" "\"\[\[Star Trek: Voyager\]\]\"" "{{S|VOY}}" "„\[\[Star Trek: Voyager\]\]“" "{{S|VOY}}" "\[\[Star Trek: Voyager\]\]" "{{S|VOY}}" "\'\'\[\[Star Trek: Enterprise\]\]\'\'" "{{S|ENT}}" "\'\'\"\[\[Star Trek: Enterprise\]\]\"\'\'" "{{S|ENT}}" "\"\[\[Star Trek: Enterprise\]\]\"" "{{S|ENT}}" "„\[\[Star Trek: Enterprise\]\]“" "{{S|ENT}}" "\[\[Star Trek: Enterprise\]\]" "{{S|ENT}}" -start:J -summary:"Bot: [[Vorlage:S|Vorlage für Serientitel]]"

    replace.py -regex "\'\'\[\[Star Trek: Raumschiff Voyager\]\]\'\'" "{{S|VOY}}" "\'\'\"\[\[Star Trek: Raumschiff Voyager\]\]\"\'\'" "{{S|VOY}}" "\"\[\[Star Trek: Raumschiff Voyager\]\]\"" "{{S|VOY}}" "„\[\[Star Trek: Raumschiff Voyager\]\]“" "{{S|VOY}}" "\[\[Star Trek: Raumschiff Voyager\]\]" "{{S|VOY}}" "\'\'\[\[Star Trek: Das nächste Jahrhundert\]\]\'\'" "{{S|TNG}}" "\'\'\"\[\[Star Trek: Das nächste Jahrhundert\]\]\"\'\'" "{{S|TNG}}" "\"\[\[Star Trek: Das nächste Jahrhundert\]\]\"" "{{S|TNG}}" "„\[\[Star Trek: Das nächste Jahrhundert\]\]“" "{{S|TNG}}" "\[\[Star Trek: Das nächste Jahrhundert\]\]" "{{S|TNG}}" -start:Ger -summary:"Bot: [[Vorlage:S|Vorlage für Serientitel]]"

  • Code zum Einpflegen des Namensraums "Datei":
    Code:

    replace.py -regex -summary:"Bot: Ersetze Namensraum Imag e, File, Bild durch Datei" "\[\[Image:" "[[Datei:" "\[\[File:" "[[Datei:" "\[\[Bild:" "[[Datei:" "\s\sImage:" "\nDatei:" "\s\sFile:" "\nDatei:" "\s\sBild:" "\nDatei:" -start:!

  • Einbinden der Vorlage:Screencap in den Datei-Namensraum:
    Code:

    replace.py -summary:"Bot: [[Vorlage:Screencap]]" -regex "\(\{\{(?P<Serie>[A-Za-z0-9]{3,4})\|" "({{Screencap|\g<Serie>|" -start:Datei:!

  • Linkfixes für NavLeisten nach Verschiebungen:
    Code:

    replace.py -summary:"Bot: Navigationsleiste" -ref:"Vorlage:NAME" "NAME}}" "Navigationsleiste NAME}}"

  • Präfix nm in Vorlage:IMDB setzen:
    Code:

    replace.py -summary:"Bot: ergänze nm-Präfix in [[Vorlage:IMDB]]" -regex "\{\{IMDB\|ID=(?P<ID>[0-9]{3,})\|" "{{IMDB|ID=nm\g<ID>|" "\{\{imdb\|id=(?P<ID>[0-9]{3,})\|" "{{IMDB|ID=nm\g<ID>|" "\{\{imdb\|ID=(?P<ID>[0-9]{3,})\|" "{{IMDB|ID=nm\g<ID>|" "\{\{IMDB\|id=(?P<ID>[0-9]{3,})\|" "{{IMDB|ID=nm\g<ID>|" -start:!

    replace.py -summary:"Bot: ergänze nm-Präfix in [[Vorlage:IMDB]]" -regex "\{\{IMDB\|NAME=(?P<Name>.+?)\|ID=(?P<ID>[0-9]{3,})\|" "{{IMDB|ID=nm\g<ID>|NAME=\g<Name>|" "\{\{imdb\|name=(?P<Name>.+?)\|id=(?P<ID>[0-9]{3,})\|" "{{IMDB|ID=nm\g<ID>|NAME=\g<Name>|" -start:!

  • Zusammenfassen der Vorlagenwerte, siehe Diskussion:
    Code:

    replace.py -cat:"Episode (TOS)" -regex -summary:"Bot: Zusammenfassen der Vorlagenwerte, siehe [[Vorlage_Diskussion:Episoden-Sidebar#.C3.84nderungen_an_der_Sidebar|Diskussion]]" -excepttext:"{{InArbeit" -excepttext:"{{inArbeit" "\| Autor[0-9]{1}= \s\s" "" "\| Story[0-9]{1}= \s\s" "" "\| Drehbuch[0-9]{1}= \s\s" "" "\| Regie[0-9]{1}= \s\s" "" "\| Autor2= " " " "\| Autor3= " " " "\| Autor4= " " " "\| Drehbuch2= " " " "\| Drehbuch3= " " " "\| Drehbuch4= " " " "\| Drehbuch5= " " " "\| Story2= " " " "\| Story3= " " " "\| Story4= " " " "\| Story5= " " " "\| Regie2= " " " "\| AusstrahlJahr= (?P<AirY>[0-9]{4})\s\s\| AusstrahlMonat= (?P<AirM>[0-9]{2})\s\s\| AusstrahlTag= (?P<AirD>[0-9]{2})" "| Erstaustrahlung= \g<AirY>-\g<AirM>-\g<AirD>" "\| AusstrahlJahrDe= (?P<DeY>[0-9]{4})\s\s\|AusstrahlMonatDe= (?P<DeM>[0-9]{2})\s\s\| AusstrahlTagDe= (?P<DeD>[0-9]{2})" "|DtErstaustrahlung= \g<DeY>-\g<DeM>-\g<DeD>" "\|RemAusstrahlJahr= (?P<RemY>[0-9]{4})\s\s\|RemAusstrahlMonat= (?P<RemM>[0-9]{2})\s\s\| RemAusstrahlTag= (?P<RemD>[0-9]{2})" "| RemAustrahlung= \g<RemY>-\g<RemM>-\g<RemD>" "\|RemAusstrahlJahr= (?P<RemY>[0-9]{0})\s\s\|RemAusstrahlMonat= (?P<RemM>[0-9]{0})\s\s\| RemAusstrahlTag= (?P<RemD>[0-9]{0})" "| RemAustrahlung= \g<RemY>\g<RemM>\g<RemD>" "\| ErsteSternzeit= (?P<SZ1>.*?)\s\s\| LetzteSternzeit= (?P<SZ2>.*?)" "| Sternzeit= \g<SZ1>\n \g<SZ2>" "\| Jahr= (?P<Y>[0-9]{4})\s\s\| Monat= (?P<M>[0-9]{2})\s\s\| Tag= (?P<D>[0-9]{2})" "| Datum= \g<Y>-\g<M>-\g<D>" "\| Jahr= " "| Datum= " "\| Monat= \s\s" "" "\| Tag= \s\s" ""

    replace.py -cat:"Episode (TAS)" -regex -summary:"Bot: Zusammenfassen der Vorlagenwerte, siehe [[Vorlage_Diskussion:Episoden-Sidebar#.C3.84nderungen_an_der_Sidebar|Diskussion]]" "\| Autor[0-9]{1}= \s\s" "" "\| Story[0-9]{1}= \s\s" "" "\| Drehbuch[0-9]{1}= \s\s" "" "\| Regie[0-9]{1}= \s\s" "" "\| Autor2= " " " "\| Autor3= " " " "\| Autor4= " " " "\| Drehbuch2= " " " "\| Drehbuch3= " " " "\| Drehbuch4= " " " "\| Drehbuch5= " " " "\| Story2= " " " "\| Story3= " " " "\| Story4= " " " "\| Story5= " " " "\| Regie2= " " " "\| AusstrahlJahr= (?P<AirY>[0-9]{4})\s\s\| AusstrahlMonat= (?P<AirM>[0-9]{2})\s\s\| AusstrahlTag= (?P<AirD>[0-9]{2})" "| Erstaustrahlung= \g<AirY>-\g<AirM>-\g<AirD>" "\| AusstrahlJahrDe= (?P<DeY>[0-9]{4})\s\s\|AusstrahlMonatDe= (?P<DeM>[0-9]{2})\s\s\| AusstrahlTagDe= (?P<DeD>[0-9]{2})" "|DtErstaustrahlung= \g<DeY>-\g<DeM>-\g<DeD>" "\| AusstrahlJahrDe= (?P<DeY>[0-9]{0})\s\s\|AusstrahlMonatDe= (?P<DeM>[0-9]{0})\s\s\| AusstrahlTagDe= (?P<DeD>[0-9]{0})" "|DtErstaustrahlung= \g<DeY>\g<DeM>\g<DeD>" "\|RemAusstrahlJahr= (?P<RemY>[0-9]{0})\s\s\|RemAusstrahlMonat= (?P<RemM>[0-9]{0})\s\s\| RemAusstrahlTag= (?P<RemD>[0-9]{0})" "| RemAustrahlung= \g<RemY>\g<RemM>\g<RemD>" "\| ErsteSternzeit= (?P<SZ1>.*?)\s\s\| LetzteSternzeit= (?P<SZ2>.*?)" "| Sternzeit= \g<SZ1>\n \g<SZ2>" "\| Jahr= (?P<Y>[0-9]{4})\s\s\| Monat= (?P<M>[0-9]{2})\s\s\| Tag= (?P<D>[0-9]{2})" "| Datum= \g<Y>-\g<M>-\g<D>" "\| Jahr= " "| Datum= " "\| Monat= \s\s" "" "\| Tag= \s\s" ""

    replace.py -cat:"Episode (TNG)" -regex -summary:"Bot: Zusammenfassen der Vorlagenwerte, siehe [[Vorlage_Diskussion:Episoden-Sidebar#.C3.84nderungen_an_der_Sidebar|Diskussion]]" "\| Autor[0-9]{1}= \s\s" "" "\| Story[0-9]{1}= \s\s" "" "\| Drehbuch[0-9]{1}= \s\s" "" "\| Regie[0-9]{1}= \s\s" "" "\| Autor2= " " " "\| Autor3= " " " "\| Autor4= " " " "\| Drehbuch2= " " " "\| Drehbuch3= " " " "\| Drehbuch4= " " " "\| Drehbuch5= " " " "\| Story2= " " " "\| Story3= " " " "\| Story4= " " " "\| Story5= " " " "\| Regie2= " " " "\| AusstrahlJahr= (?P<AirY>[0-9]{4})\s\s\| AusstrahlMonat= (?P<AirM>[0-9]{2})\s\s\| AusstrahlTag= (?P<AirD>[0-9]{2})" "| Erstaustrahlung= \g<AirY>-\g<AirM>-\g<AirD>" "\| AusstrahlJahrDe= (?P<DeY>[0-9]{4})\s\s\|AusstrahlMonatDe= (?P<DeM>[0-9]{2})\s\s\| AusstrahlTagDe= (?P<DeD>[0-9]{2})" "|DtErstaustrahlung= \g<DeY>-\g<DeM>-\g<DeD>" "\| AusstrahlJahrDe= (?P<DeY>[0-9]{0})\s\s\|AusstrahlMonatDe= (?P<DeM>[0-9]{0})\s\s\| AusstrahlTagDe= (?P<DeD>[0-9]{0})" "|DtErstaustrahlung= \g<DeY>\g<DeM>\g<DeD>" "\|RemAusstrahlJahr= (?P<RemY>[0-9]{0})\s\s\|RemAusstrahlMonat= (?P<RemM>[0-9]{0})\s\s\| RemAusstrahlTag= (?P<RemD>[0-9]{0})" "| RemAustrahlung= \g<RemY>\g<RemM>\g<RemD>" "\| ErsteSternzeit= (?P<SZ1>.*?)\s\s\| LetzteSternzeit= (?P<SZ2>.*?)" "| Sternzeit= \g<SZ1>\n \g<SZ2>" "\| Jahr= (?P<Y>[0-9]{4})\s\s\| Monat= (?P<M>[0-9]{2})\s\s\| Tag= (?P<D>[0-9]{2})" "| Datum= \g<Y>-\g<M>-\g<D>" "\| Jahr= " "| Datum= " "\| Monat= \s\s" "" "\| Tag= \s\s" ""

    replace.py -cat:"Episode (DS9)" -excepttext:"{{InArbeit" -excepttext:"{{inArbeit" -regex -summary:"Bot: Zusammenfassen der Vorlagenwerte, siehe [[Vorlage_Diskussion:Episoden-Sidebar#.C3.84nderungen_an_der_Sidebar|Diskussion]]" "\| Autor[0-9]{1}= \s\s" "" "\| Story[0-9]{1}= \s\s" "" "\| Drehbuch[0-9]{1}= \s\s" "" "\| Regie[0-9]{1}= \s\s" "" "\| Autor2= " " " "\| Autor3= " " " "\| Autor4= " " " "\| Drehbuch2= " " " "\| Drehbuch3= " " " "\| Drehbuch4= " " " "\| Drehbuch5= " " " "\| Story2= " " " "\| Story3= " " " "\| Story4= " " " "\| Story5= " " " "\| Regie2= " " " "\| AusstrahlJahr= (?P<AirY>[0-9]{4})\s\s\| AusstrahlMonat= (?P<AirM>[0-9]{2})\s\s\| AusstrahlTag= (?P<AirD>[0-9]{2})" "| Erstaustrahlung= \g<AirY>-\g<AirM>-\g<AirD>" "\| AusstrahlJahrDe= (?P<DeY>[0-9]{4})\s\s\|AusstrahlMonatDe= (?P<DeM>[0-9]{2})\s\s\| AusstrahlTagDe= (?P<DeD>[0-9]{2})" "|DtErstaustrahlung= \g<DeY>-\g<DeM>-\g<DeD>" "\| AusstrahlJahrDe= (?P<DeY>[0-9]{0})\s\s\|AusstrahlMonatDe= (?P<DeM>[0-9]{0})\s\s\| AusstrahlTagDe= (?P<DeD>[0-9]{0})" "|DtErstaustrahlung= \g<DeY>\g<DeM>\g<DeD>" "\|RemAusstrahlJahr=(?P<RemY>.*?)\s\s\|RemAusstrahlMonat=(?P<RemM>.*?)\s\s\| RemAusstrahlTag=(?P<RemD>.*?)" "| RemAustrahlung= " "\| ErsteSternzeit=(?P<SZ1>.*?)\s\s\| LetzteSternzeit=(?P<SZ2>.*?)" "| Sternzeit=\g<SZ1>\n \g<SZ2>" "\| Jahr= (?P<Y>[0-9]{4})\s\s\| Monat= (?P<M>[0-9]{2})\s\s\| Tag= (?P<D>[0-9]{2})" "| Datum= \g<Y>-\g<M>-\g<D>" "\| Jahr= " "| Datum= " "\| Monat= \s\s" "" "\| Tag= \s\s" ""

    replace.py -cat:"Episode (VOY)" -regex -summary:"Bot: Zusammenfassen der Vorlagenwerte, siehe [[Vorlage_Diskussion:Episoden-Sidebar#.C3.84nderungen_an_der_Sidebar|Diskussion]]" "\| Autor[0-9]{1}= \s\s" "" "\| Story[0-9]{1}= \s\s" "" "\| Drehbuch[0-9]{1}= \s\s" "" "\| Regie[0-9]{1}= \s\s" "" "\| Autor2= " " " "\| Autor3= " " " "\| Autor4= " " " "\| Drehbuch2= " " " "\| Drehbuch3= " " " "\| Drehbuch4= " " " "\| Drehbuch5= " " " "\| Story2= " " " "\| Story3= " " " "\| Story4= " " " "\| Story5= " " " "\| Regie2= " " " "\| AusstrahlJahr= (?P<AirY>[0-9]{4})\s\s\| AusstrahlMonat= (?P<AirM>[0-9]{2})\s\s\| AusstrahlTag= (?P<AirD>[0-9]{2})" "| Erstaustrahlung= \g<AirY>-\g<AirM>-\g<AirD>" "\| AusstrahlJahrDe= (?P<DeY>[0-9]{4})\s\s\|AusstrahlMonatDe= (?P<DeM>[0-9]{2})\s\s\| AusstrahlTagDe= (?P<DeD>[0-9]{2})" "|DtErstaustrahlung= \g<DeY>-\g<DeM>-\g<DeD>" "\| AusstrahlJahrDe= (?P<DeY>[0-9]{0})\s\s\|AusstrahlMonatDe= (?P<DeM>[0-9]{0})\s\s\| AusstrahlTagDe= (?P<DeD>[0-9]{0})" "|DtErstaustrahlung= \g<DeY>\g<DeM>\g<DeD>" "\|RemAusstrahlJahr=(?P<RemY>.*?)\s\s\|RemAusstrahlMonat=(?P<RemM>.*?)\s\s\| RemAusstrahlTag=(?P<RemD>.*?)" "| RemAustrahlung= " "\| ErsteSternzeit=(?P<SZ1>.*?)\s\s\| LetzteSternzeit=(?P<SZ2>.*?)" "| Sternzeit=\g<SZ1>\n \g<SZ2>" "\| Jahr= (?P<Y>[0-9]{4})\s\s\| Monat= (?P<M>[0-9]{2})\s\s\| Tag= (?P<D>[0-9]{2})" "| Datum= \g<Y>-\g<M>-\g<D>" "\| Jahr= " "| Datum= " "\| Monat= \s\s" "" "\| Tag= \s\s" "" "\| ErsteSternzeit=(?P<SZ1>.*?)\s\s\| (?P<SDf>.*?(?!LetzteSternzeit))" "| Sternzeit=\g<SZ1>\n \n| \g<SDf>"

    ENT

  • LookAhead/LookBehind:
    Code:

    replace.py "(?<!Planet )Angel One" "Angel I" -regex -start:!

  • Linkfixes nach Episodenverschiebung:
    Code:

    replace.py -regex "\{\{(?P<prefix>[SERe]{1,3}?)\|(?P<E1>.*?)NAME_ALT(?P<E2>.*?)\}\}" "{{\g<prefix>|\g<E1>NAME_NEU\g<E2>}}" -summary:"Bot: Quellen-Fix nach Verschiebung der Episode [[NAME_ALT]] → [[NAME_NEU]]" -excepttext:"\{\{[Ii]n [Aa]rbeit" -excepttext:"\{\{[Ii]n[Aa]rbeit" -ns:0 -ns:4 -ns:6 -ns:10 -pt:00 -ref:"NAME_ALT"

    replace.py -regex "\{\{[Ss]creencap\|SER\|NAME_ALT\}\}" "{{Screencap|SER|NAME_NEU}}" -summary:"Bot: Quellen-Fix nach Verschiebung der Episode [[NAME_ALT]] → [[NAME_NEU]] gemäß [[Project:Episodentitel|MA:Episodentitel]]" -ref:"NAME_ALT" -pt:00 -ns:6