Benutzer:BetterkBot/Botläufe und Botprogrammierung/Archiv 201203

Running bot failsBearbeiten

  • I'm using pywikipedia/nightly, python 2.7.2, XP
  • user-config.py:
family = 'wiktionary'
mylang = 'de'
usernames['wiktionary']['de'] = 'BetterkBot'
minthrottle = 1
maxthrottle = 60
put_throttle = 60

After login and typing at commandline "replace.py -page:Benutzer:BetterkBot/Bottest"
text that should be replaced: "Deklination"
new text: "Konjugation"
summary default message: Enter
I've got the help information from replace.py without changing the page.

Your working copy is deprecated. Please update it from http://pywikipedia.org Xqt (Diskussion) 18:32, 28. Okt. 2011 (MESZ)
Updated to version r9675
Pywikipedia  (r9675 (wikipedia.py), 2011/10/26, 08:57:14)
Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)]
config-settings:
use_api = True
use_api_login = True
unicode test: ok
cmd: add_text.py -page:Kran -text:xy
I've got:
Traceback (most recent call last):
  File "C:\Programme\pywikipediabot\add_text.py", line 413, in <module> main()
  File "C:\Programme\pywikipediabot\add_text.py", line 395, in main
    'You have to specify the generator you want to use for the script!')
__main__.NoEnoughData: You have to specify the generator you want to use for the script!
never recognizes generator
--Betterknower (Diskussion) 20:29, 28. Okt. 2011 (MESZ)
Dank an valhallasw. Pfad zum Pythonverzeichnis ergänzt. Um Änderungen am Pfad dauerhaft zu erhalten, ändere ihn über Systemsteuerung/System/Umgebungsvariable und nicht über die Kommandozeile.
python add_text.py -page:Kran -text:xy
--Betterknower (Diskussion) 00:56, 30. Okt. 2011 (MESZ)


Meine ersten GehversucheBearbeiten

Ich arbeite mit einer modifizierten Datei replace.py wie sie hier zu sehen ist, wobei zwei Zeilen anzupassen sind:

  • replacements.append((u'zu ersetzender Ausdruck',u'ersetzter Ausdruck'))
  • wikipedia.setAction(u'Text der Zusammenfassungszeile')

Ausdrücke werden mit Regulären Ausdrücken manipuliert. Eine gute Hilfe dazu liefern die Seiten www.regenechsen.de, www.gnosis.cx oder am besten das Buch Reguläre Ausdrücke/Regular Expressions von Jeffrey Friedl. Testen kann man eine solche Regex z.B. mit www.rubular.com live.

Ersetzen der Hochkommata in IPABearbeiten

Mein Betreiber meint, ich solle einmal mit einfachen Ersetzungsaufgaben beginnen, wie z.B das Ersetzen des Hochkommas in Einbindungen der Vorlage:Lautschrift in Einträgen durch das richtige Betonungszeichen (U+02C8). Nun gut.


  • Ersetzen von bis zu 4 Hochkommas je Lautschriftvorlage:
replacements.append((u'Lautschrift\|([\w|\s|,|:|̯|̯|̪|ʈ|̥|ɡ|̊|̊|̩|ɱ|̍|̩|̪|̩|̩|̯|ˌ]*?)\'',u'Lautschrift|\\1ˈ'))
replacements.append((u'Lautschrift\|([\w|\s|,|:|̯|̯|̪|ʈ|̥|ɡ|̊|̊|̩|ɱ|̍|̩|̪|̩|̩|̯|ˌ]*?)\'',u'Lautschrift|\\1ˈ'))
replacements.append((u'Lautschrift\|([\w|\s|,|:|̯|̯|̪|ʈ|̥|ɡ|̊|̊|̩|ɱ|̍|̩|̪|̩|̩|̯|ˌ]*?)\'',u'Lautschrift|\\1ˈ'))
replacements.append((u'Lautschrift\|([\w|\s|,|:|̯|̯|̪|ʈ|̥|ɡ|̊|̊|̩|ɱ|̍|̩|̪|̩|̩|̯|ˌ]*?)\'',u'Lautschrift|\\1ˈ'))


  • Starten des Programms in der Kommandozeile mit
python _IPA_Apostr.py -xml:"C:\Pfad\DumpFiles\dewiktionary-20111028-pages-articles.xml" -regex -namespace:0 -always #-xmlstart:XY

Das Starten des Programms muss im entsprechenden Verzeichnis \PyWikipediaBot erfolgen; sonst erscheint eine Fehlermeldung wie:

SyntaxError: invalid syntax

Erhält man eine Fehlermeldung wie

Traceback (most recent call last):
  File "C:\Programme\PyWikipediaBot\pagegenerators.py", line 1185, in __iter__
    for page in self.wrapped_gen:
  File "C:\Programme\PyWikipediaBot\pagegenerators.py", line 1039, in NamespaceFilterPageGenerator
    for page in generator:
  File "_IPA_Apostr.py", line 207, in __iter__
    for entry in self.parser:
  File "C:\Programme\PyWikipediaBot\xmlreader.py", line 313, in new_parse
    for event, elem in context:
  File "<string>", line 84, in next
ParseError: not well-formed (invalid token): line 1311532, column 14
not well-formed (invalid token): line 1311532, column 14

dann ist die .xml Datei möglicherweise korrupt und ist zu erneuern.

  • Beenden des Programms mit Ctrl+C

Vorlagentausch Adjektivdeklination (Tschechisch)Bearbeiten

  • Ersetzen der mittlerweile gelöschten Vorlage:Tschechisch Adjektiv Deklinationsseite hart durch die Vorlage:Tschechisch Adjektiv Deklination in Einträgen wie z.B možný. Ich habe lautstark gegen diese Arbeit protestiert, da nur wenige Einträge betroffen sind, die man ja zu Fuß schneller bearbeiten kann. Mein Meister - der immer alles besser weiß - meinte aber, mach nur, wir werden dabei sicher Einiges lernen.
replacements.append((u'Tschechisch Adjektiv Deklinationsseite hart\n\|S[\w|\s]*?=(\w*)(\w)(\w)',u'Tschechisch Adjektiv Deklination|\\1|\\2|\\3|ý}}'))
replacements.append((u'\|M Plural belebt[\w|\s|=|\{|\}|\n]*',u''))
  • zu ersetzender Text:
== možný (Deklination) ({{Adjektivdeklination|Tschechisch}}) ==
{{Tschechisch Adjektiv Deklinationsseite hart
|Stamm          =možn
|M Plural belebt=možní
|Komparativ     =možnější
}}
  • gewünschter Text:
== možný (Deklination) ({{Adjektivdeklination|Tschechisch}}) ==
{{Tschechisch Adjektiv Deklination|mo|ž|n|ý}}
  • Starten des Programms mit
python _CsVorlAdjDekl.py -xml:"C:\Pfad\DumpFiles\dewiktionary-20111028-pages-articles.xml" -regex -namespace:0 -always


Ersetzen von Hochkomma, Komma, Doppelpunkt, g, x, ɘ, ˀ, ʰ in IPABearbeiten

Es werden einige Aufgaben gleichzeitig erledigt

  • In den Anfangszeiten des Wiktionary wurden oft zwei Aussprachen in 'eine' Vorlage gepackt, wie z.B bei abdrücken zu sehen. Der Bot trennt bis zu 5 gemeinsam verwendete Lautschriftvorlagen, indem er ein Komma gefolgt von einem Leerzeichen durch die Buchstabenfolge „}}, {{Lautschrift|“ ersetzt.
  • Ersetzen von bis zu 4 Hochkommas je Lautschriftvorlage in Einträgen durch das richtige Betonungszeichen (U+02C8).
  • Ersetzen von bis zu 4 Doppelpunkten je Lautschriftvorlage durch das richtige Längenzeichen (U+02D0).
  • Ersetzen von bis zu 4 Zeichen g/x/ɘ/ˀ/ʰ je Lautschriftvorlage durch die richtigen Zeichen ɡ (U+0261)/χ (U+03C7)/ə (U+0259)/ʔ (U+0294)/nix. Aber nur in deutschsprachigen Einträgen; genau genommen nur in Einträgen, welche die Zeichenfolge „{{Sprache|De“ enthalten: -excepttext:"\{\{Sprache\|[^D][^e]" (funktioniert nicht, findet Sprachen wie „D?“ aber auch „?e“) -> -excepttext:"\{\{Sprache\|([^D][a-z]|[A-Z][^e])" (findet aber leider wiederum nur Einträge, die keine zusätzliche andere Sprache aufweisen).
  • ab Datum: 1.1.2012
  • Beispiele: kdy, rochieren, Ekel, Opa, Musikvideo, widerspruchslos, unaufgefordert
  • replace.py:
replacements.append((u'Lautschrift\|([\w|\s|,|:|ˈ|̯|̯|̪|ʈ|̥|ɡ|̊|̊|̩|ɱ|̍|̩|̪|̩|̩|̯|ˌ]*?),\s',u'Lautschrift|\\1}}, {{Lautschrift|'))
replacements.append((u'Lautschrift\|([\w|\s|,|:|ˈ|̯|̯|̪|ʈ|̥|ɡ|̊|̊|̩|ɱ|̍|̩|̪|̩|̩|̯|ˌ]*?),\s',u'Lautschrift|\\1}}, {{Lautschrift|'))
replacements.append((u'Lautschrift\|([\w|\s|,|:|ˈ|̯|̯|̪|ʈ|̥|ɡ|̊|̊|̩|ɱ|̍|̩|̪|̩|̩|̯|ˌ]*?),\s',u'Lautschrift|\\1}}, {{Lautschrift|'))
replacements.append((u'Lautschrift\|([\w|\s|,|:|ˈ|̯|̯|̪|ʈ|̥|ɡ|̊|̊|̩|ɱ|̍|̩|̪|̩|̩|̯|ˌ]*?),\s',u'Lautschrift|\\1}}, {{Lautschrift|'))
replacements.append((u'Lautschrift\|([\w|\s|,|:|ˈ|̯|̯|̪|ʈ|̥|ɡ|̊|̊|̩|ɱ|̍|̩|̪|̩|̩|̯|ˌ]*?),\s',u'Lautschrift|\\1}}, {{Lautschrift|'))
replacements.append((u'Lautschrift\|([\w|\s|,|:|̯|̯|̪|ʈ|̥|ɡ|̊|̊|̩|ɱ|̍|̩|̪|̩|̩|̯|ˌ]*?)\'',u'Lautschrift|\\1ˈ'))
3x
replacements.append((u'Lautschrift\|([\w|\s|,|̯|̯|̪|ʈ|̥|ɡ|̊|̊|̩|ɱ|̍|̩|̪|̩|̩|̯|ˌ]*?):',u'Lautschrift|\\1ː'))
3x
replacements.append((u'Lautschrift\|([\w|\s|,|̯|̯|̪|ʈ|̥|ɡ|̊|̊|̩|ɱ|̍|̩|̪|̩|̩|̯|ˌ]*?)g',u'Lautschrift|\\1ɡ'))
3x
replacements.append((u'Lautschrift\|([\w|\s|,|̯|̯|̪|ʈ|̥|ɡ|̊|̊|̩|ɱ|̍|̩|̪|̩|̩|̯|ˌ]*?)x',u'Lautschrift|\\1χ'))
3x
replacements.append((u'Lautschrift\|([\w|\s|,|̯|̯|̪|ʈ|̥|ɡ|̊|̊|̩|ɱ|̍|̩|̪|̩|̩|̯|ˌ]*?)ɘ',u'Lautschrift|\\1ə'))
3x
replacements.append((u'Lautschrift\|([\w|\s|,|̯|̯|̪|ʈ|̥|ɡ|̊|̊|̩|ɱ|̍|̩|̪|̩|̩|̯|ˌ]*?)ˀ',u'Lautschrift|\\1ʔ'))
3x
replacements.append((u'Lautschrift\|([\w|\s|,|̯|̯|̪|ʈ|̥|ɡ|̊|̊|̩|ɱ|̍|̩|̪|̩|̩|̯|ˌ]*?)ʰ',u'Lautschrift|\\1'))
3x


Umbenennen der Parameter in VorlSubstÜbersicht (en, fr, usw.)Bearbeiten

Bild1-5, BBreite, BBreite1-5, BBezug1-5, BBeschreibung1-5 -> Bild 1...

replacements.append((u'\{\{Englisch Substantiv Ü([\w|\s|\n|\'|:|=|\)|\(|\.]*)Bild1([\w|\s|\n|\'|:|=|\)|\(|\.]*)\}\}',u'{{Englisch Substantiv Ü\\1Bild 1\\2}}'))
replacements.append((u'\{\{Englisch Substantiv Ü([\w|\s|\n|\'|:|=|\)|\(|\.]*)BBreite([\w|\s|\n|\'|:|=|\)|\(|\.]*)\}\}',u'{{Englisch Substantiv Ü\\1Bildbreite\\2}}'))
replacements.append((u'\{\{Englisch Substantiv Ü([\w|\s|\n|\'|:|=|\)|\(|\.]*)BBezug1([\w|\s|\n|\'|:|=|\)|\(|\.]*)\}\}',u'{{Englisch Substantiv Ü\\1Bildbezug 1\\2}}'))
replacements.append((u'\{\{Englisch Substantiv Ü([\w|\s|\n|\'|:|=|\)|\(|\.]*)BBeschreibung1([\w|\s|\n|\'|:|=|\)|\(|\.]*)\}\}',u'{{Englisch Substantiv Ü\\1Bildbeschreibung 1\\2}}'))
replacements.append((u'\{\{Englisch Substantiv Ü([\w|\s|\n|\'|:|=|\)|\(|\.]*)Bild2([\w|\s|\n|\'|:|=|\)|\(|\.]*)\}\}',u'{{Englisch Substantiv Ü\\1Bild 2\\2}}'))
replacements.append((u'\{\{Englisch Substantiv Ü([\w|\s|\n|\'|:|=|\)|\(|\.]*)BBezug2([\w|\s|\n|\'|:|=|\)|\(|\.]*)\}\}',u'{{Englisch Substantiv Ü\\1Bildbezug 2\\2}}'))
replacements.append((u'\{\{Englisch Substantiv Ü([\w|\s|\n|\'|:|=|\)|\(|\.]*)BBeschreibung2([\w|\s|\n|\'|:|=|\)|\(|\.]*)\}\}',u'{{Englisch Substantiv Ü\\1Bildbeschreibung 2\\2}}'))
replacements.append((u'\{\{Englisch Substantiv Ü([\w|\s|\n|\'|:|=|\)|\(|\.]*)Bild3([\w|\s|\n|\'|:|=|\)|\(|\.]*)\}\}',u'{{Englisch Substantiv Ü\\1Bild 3\\2}}'))
replacements.append((u'\{\{Englisch Substantiv Ü([\w|\s|\n|\'|:|=|\)|\(|\.]*)BBezug3([\w|\s|\n|\'|:|=|\)|\(|\.]*)\}\}',u'{{Englisch Substantiv Ü\\1Bildbezug 3\\2}}'))
replacements.append((u'\{\{Englisch Substantiv Ü([\w|\s|\n|\'|:|=|\)|\(|\.]*)BBeschreibung3([\w|\s|\n|\'|:|=|\)|\(|\.]*)\}\}',u'{{Englisch Substantiv Ü\\1Bildbeschreibung 3\\2}}'))
replacements.append((u'\{\{Englisch Substantiv Ü([\w|\s|\n|\'|:|=|\)|\(|\.]*)Bild4([\w|\s|\n|\'|:|=|\)|\(|\.]*)\}\}',u'{{Englisch Substantiv Ü\\1Bild 4\\2}}'))
replacements.append((u'\{\{Englisch Substantiv Ü([\w|\s|\n|\'|:|=|\)|\(|\.]*)BBezug4([\w|\s|\n|\'|:|=|\)|\(|\.]*)\}\}',u'{{Englisch Substantiv Ü\\1Bildbezug 4\\2}}'))
replacements.append((u'\{\{Englisch Substantiv Ü([\w|\s|\n|\'|:|=|\)|\(|\.]*)BBeschreibung4([\w|\s|\n|\'|:|=|\)|\(|\.]*)\}\}',u'{{Englisch Substantiv Ü\\1Bildbeschreibung 4\\2}}'))
replacements.append((u'\{\{Englisch Substantiv Ü([\w|\s|\n|\'|:|=|\)|\(|\.]*)Bild5([\w|\s|\n|\'|:|=|\)|\(|\.]*)\}\}',u'{{Englisch Substantiv Ü\\1Bild 5\\2}}'))
replacements.append((u'\{\{Englisch Substantiv Ü([\w|\s|\n|\'|:|=|\)|\(|\.]*)BBezug5([\w|\s|\n|\'|:|=|\)|\(|\.]*)\}\}',u'{{Englisch Substantiv Ü\\1Bildbezug 5\\2}}'))
replacements.append((u'\{\{Englisch Substantiv Ü([\w|\s|\n|\'|:|=|\)|\(|\.]*)BBeschreibung5([\w|\s|\n|\'|:|=|\)|\(|\.]*)\}\}',u'{{Englisch Substantiv Ü\\1Bildbeschreibung 5\\2}}'))
  • Aufruf:

_enSubstBildparam.py


Ersetzen von „{{fehlend}}“ durch „—“ (Substantiv, Adjektiv, Adverb)Bearbeiten

replacements.append((u'\{\{([\w|\s]*) (Substantiv) Ü([—|\w|\s|\n|\'|:|=|–|\)|\(|\.|\||\[|\]|\<|\>|\#|/|\—]*)Singular(?:\s)?=(?:\s)?\{\{fehlend\}\}([—|\w|\s|\n|\'|:|=|–|\)|\(|\.|\||\[|\]|\<|\>|\#|/|\—|\{|\}]*)\{\{Silbentr',u'{{\\1 \\2 Ü\\3Singular=—\\4{{Silbentr'))
...
replacements.append((u'\{\{([\w|\s]*) (Substantiv) Ü([—|\w|\s|\n|\'|:|=|–|\)|\(|\.|\||\[|\]|\<|\>|\#|/|\—]*)Plural(?:\s)?=(?:\s)?\{\{fehlend\}\}([—|\w|\s|\n|\'|:|=|–|\)|\(|\.|\||\[|\]|\<|\>|\#|/|\—|\{|\}]*)\{\{Silbentr',u'{{\\1 \\2 Ü\\3Plural=—\\4{{Silbentr'))
...
replacements.append((u'\{\{([\w|\s]*) (Substantiv) Ü([—|\w|\s|\n|\'|:|=|–|\)|\(|\.|\||\[|\]|\<|\>|\#|/|\—]*)Komparativ(?:\s)?=(?:\s)?\{\{fehlend\}\}([—|\w|\s|\n|\'|:|=|–|\)|\(|\.|\||\[|\]|\<|\>|\#|/|\—|\{|\}]*)\{\{Silbentr',u'{{\\1 \\2 Ü\\3Komparativ=—\\4{{Silbentr'))
...
replacements.append((u'\{\{([\w|\s]*) (Substantiv) Ü([—|\w|\s|\n|\'|:|=|–|\)|\(|\.|\||\[|\]|\<|\>|\#|/|\—]*)Superlativ(?:\s)?=(?:\s)?\{\{fehlend\}\}([—|\w|\s|\n|\'|:|=|–|\)|\(|\.|\||\[|\]|\<|\>|\#|/|\—|\{|\}]*)\{\{Silbentr',u'{{\\1 \\2 Ü\\3Superlativ=—\\4{{Silbentr'))
...
replacements.append((u'\{\{([\w|\s]*) (Substantiv) Ü([—|\w|\s|\n|\'|:|=|–|\)|\(|\.|\||\[|\]|\<|\>|\#|/|\—]*)Bestimmt(?:\s)?=(?:\s)?\{\{fehlend\}\}([—|\w|\s|\n|\'|:|=|–|\)|\(|\.|\||\[|\]|\<|\>|\#|/|\—|\{|\}]*)\{\{Silbentr',u'{{\\1 \\2 Ü\\3Bestimmt=—\\4{{Silbentr'))
...


{{Deutsch Substantiv m schwach 1}} -> {{Deutsch Substantiv Übersicht}}Bearbeiten

replacements.append((u'(\{\{Deutsch\sSubstantiv\s)m\ssc[\w|\s]*\n\|SINGULAR=([\w|\s]*)\n\|PLURAL=([\w|\s]*)\n\|BILD=([—|\w|\s|\'|:|=|–|\)|\(|\.|\[|\]|\<|\>|\#|\/|\—]*)\s\n\|BILDBREITE=([\w|\s]*)\s\n\|BILDBEZUG=([\w|\s]*)\s\n\|BILDBESCHREIBUNG=([\w|\s]*)\}\}',u'\\1Übersicht\n|Bild=\\4|\\5|\\6|\\7|Nominativ Singular=der \\2\n|Nominativ Plural=die \\3\n|Genitiv Singular=des \\3\n|Genitiv Plural=der \\3\n|Dativ Singular=dem \\3\n|Dativ Plural=den \\3\n|Akkusativ Singular=den \\3\n|Akkusativ Plural=die \\3\n}}'))

replacements.append((u'(\{\{Deutsch\sSubstantiv\s)m\ssc[\w|\s]*\n\|SINGULAR=([\w|\s]*)\n\|PLURAL=([\w|\s]*)\}\}',u'\\1Übersicht\n|Nominativ Singular=der \\2\n|Nominativ Plural=die \\3|Genitiv Singular=des \\3|Genitiv Plural=der \\3|Dativ Singular=dem \\3|Dativ Plural=den \\3|Akkusativ Singular=den \\3|Akkusativ Plural=die \\3}}'))


Ersetzen von „Konjunktionen“ durch „Konjunktionen (Deutsch)“ (Navileiste)Bearbeiten

  • ab Datum: 20.1.2012
  • Beispiele: daher
  • replace.py:
replacements.append((u'\{\{Konjunktionen\}\}',u'{{Konjunktionen (Deutsch)}}'))


Ersetzen von „Präpositionen“ durch „Präpositionen (Deutsch)“ (Navileiste)Bearbeiten

replacements.append((u'\{\{Präpositionen\}\}',u'{{Präpositionen (Deutsch)}}'))
replacements.append((u'\{\{Vorlage:Präpositionen\}\}',u'{{Präpositionen (Deutsch)}}'))


Ersetzen von „Positive“, „Comparative“ durch „Positiv“, „Komparativ“ (VorlEnAdjÜbersicht)Bearbeiten

replacements.append((u'(\{\{Englisch\sAdjektiv\sÜ[\w|\s]*\n\|Positiv)e(=[^\n]*\n\|)C(omparativ)e(=[^\n]*\n\|Superlativ)e(=[^\n]*\n\}\})',u'\\1\\2K\\3\\4\\5'))
  • Aufruf:

python _enVorlAdjU.py -xml:"C:\Pfad\dewiktionary-20120111-pages-articles.xml" -regex -namespace:0


Bild1 -> Bild 1 (VorlEnVerbÜbersicht)Bearbeiten

  • ab Datum: 26.1.2012
  • Beispiele: germinate
  • replace.py:
replacements.append((u'(\{\{Englisch\sVerb\sÜ[^\n]*\n\|Bild)1',u'\\1 1'))


Bild1 -> Bild 1 (VorlDeVerbÜbersicht)Bearbeiten

python replace.py -regex -ns:0 -dotall -family:wiktionary -lang:de -cat:Verb_(Deutsch) -ref:Vorlage:Verb-Tabelle -summary:"Bild1 -> Bild 1" -xml:"C:\Pfad\dewiktionary-20120111-pages-articles.xml" "{{Verb-Tabelle(.*?)(Bild)(\d)(.*?)}}" "{{Verb-Tabelle\1\2 \3\4}}" "{{Verb-Tabelle(.*?)(Bild)(\d)(.*?)}}" "{{Verb-Tabelle\1\2 \3\4}}" "{{Verb-Tabelle(.*?)BB(reite)(\d)(.*?)}}" "{{Verb-Tabelle\1Bildb\2 \3\4}}" "{{Verb-Tabelle(.*?)BB(reite)(\d)(.*?)}}" "{{Verb-Tabelle\1Bildb\2 \3\4}}" "{{Verb-Tabelle(.*?)BB(ezug)(\d)(.*?)}}" "{{Verb-Tabelle\1Bildb\2 \3\4}}" "{{Verb-Tabelle(.*?)BB(ezug)(\d)(.*?)}}" "{{Verb-Tabelle\1Bildb\2 \3\4}}" "{{Verb-Tabelle(.*?)BB(eschreibung)(\d)(.*?)}}" "{{Verb-Tabelle\1Bildb\2 \3\4}}" "{{Verb-Tabelle(.*?)BB(eschreibung)(\d)(.*?)}}" "{{Verb-Tabelle\1Bildb\2 \3\4}}"


user-fixes.pyBearbeiten

Da die Handhabung des immer komplizierter werdenden Bots über die Kommandozeile sehr mühsam ist und diese außerdem in der Zeichenanzahl begrenzt ist, arbeite ich nun mit der effizienteren und flexibleren Datei user-fixes.py, die eine etwas andere Syntax hat, weshalb Kenntnisse in Python von Vorteil sind. In dieser Datei werden alle verwendeten Botprogramme/Botläufe unter einem zu wählenden Botnamen gespeichert unter welchem man sie jederzeit wiederholt laufen lassen kann.


BILD -> Bild (plAdjÜbers)Bearbeiten

  • ab Datum: 30.1.2012
  • Beispiele: chory
  • user-fixes.py:
fixes['plAdjUBildparam'] = {
    'regex': True,
    #'dotall': True,  #funzt hier nicht
    'msg': {
        'de':u'Bot: Bildparameter plAdjektivÜbersicht',
    },
    'replacements': [
        #BILD -> Bild
        (ur'({{Polnisch Adjektiv Ü.*?)BILD(.*?}})', u'\\1Bild\\2'),
        #BILDBREITE -> Bildbreite
        (ur'({{Polnisch Adjektiv Ü.*?)BILDBREITE(.*?}})', u'\\1Bildbreite\\2'),
        #BILDBEZUG -> Bildbezug
        (ur'({{Polnisch Adjektiv Ü.*?)BILDBEZUG(.*?}})', u'\\1Bildbezug\\2'),
        #BILDBESCHREIBUNG -> Bildbeschreibung
        (ur'({{Polnisch Adjektiv Ü.*?)BILDBESCHREIBUNG(.*?}})', u'\\1Bildbeschreibung\\2'),
    ]
}
  • Aufruf:
python replace.py -ns:0 -dotall -xml:"C:\Pfad\dewiktionary-20120111-pages-articles.xml" -fix:plAdjUBildparam


Literaturliste|Burkart, Vornamen -> Lit-Burkart: Vornamen; S. -> SeiteBearbeiten

ändert in den Einträgen den Vorlagennamen und schreibt „S.“ aus

  • ab Datum: 30.1.2012
  • Beispiele: Michelle, Axel
  • user-fixes.py:
(ur'{{Literaturliste\|Burkart, Vornamen}}(.*?)S\.(.*?)\n', u'{{Lit-Burkart: Vornamen}}\\1Seite\\2\n'),
(ur'{{Literaturliste\|Burkart, Vornamen}}(.*?)\n', u'{{Lit-Burkart: Vornamen}}\\1\n'),
  • Aufruf:
python replace.py -ns:0 -dotall -xml:"C:\Pfad\dewiktionary-20120111-pages-articles.xml" -fix:Lit-Burkart


frSubstÜbers Bild1-3, BBreite, BBreite1-3, BBezug1-3, BBeschreibung1-3 -> Bild 1...Bearbeiten

#Bild1 -> Bild 1
(ur'({{Französisch Substantiv Ü.*?)Bild(\d.*?}})', u'\\1Bild \\2'),
#BBreite1 -> Bildbreite 1
(ur'({{Französisch Substantiv Ü.*?)BBreite(\d.*?}})', u'\\1Bildbreite \\2'),
#BBezug1 -> Bildbezug 1
(ur'({{Französisch Substantiv Ü.*?)BBezug(\d.*?}})', u'\\1Bildbezug \\2'),
#BBeschreibung1 -> Bildbeschreibung 1
(ur'({{Französisch Substantiv Ü.*?)BBeschreibung(\d.*?}})', u'\\1Bildbeschreibung \\2'),
#Bild2 usw., Bild3 usw.
(ur'({{Französisch Substantiv Ü.*?)Bild(\d.*?}})', u'\\1Bild \\2'),
(ur'({{Französisch Substantiv Ü.*?)BBreite(\d.*?}})', u'\\1Bildbreite \\2'),
(ur'({{Französisch Substantiv Ü.*?)BBezug(\d.*?}})', u'\\1Bildbezug \\2'),
(ur'({{Französisch Substantiv Ü.*?)BBeschreibung(\d.*?}})', u'\\1Bildbeschreibung \\2'),
(ur'({{Französisch Substantiv Ü.*?)Bild(\d.*?}})', u'\\1Bild \\2'),
(ur'({{Französisch Substantiv Ü.*?)BBreite(\d.*?}})', u'\\1Bildbreite \\2'),
(ur'({{Französisch Substantiv Ü.*?)BBezug(\d.*?}})', u'\\1Bildbezug \\2'),
(ur'({{Französisch Substantiv Ü.*?)BBeschreibung(\d.*?}})', u'\\1Bildbeschreibung \\2'),
#BBreite -> Bildbreite
(ur'({{Französisch Substantiv Ü.*?)BBreite=(.*?}})', u'\\1Bildbreite=\\2'),


enSubstÜbers Bild1-3, BBreite, BBreite1-3, BBezug1-3, BBeschreibung1-3 -> Bild 1...Bearbeiten

#Bild1 -> Bild 1
(ur'({{Englisch Substantiv Ü.*?)Bild(\d.*?}})', u'\\1Bild \\2'),
#BBreite1 -> Bildbreite 1
(ur'({{Englisch Substantiv Ü.*?)BBreite(\d.*?}})', u'\\1Bildbreite \\2'),
#BBezug1 -> Bildbezug 1
(ur'({{Englisch Substantiv Ü.*?)BBezug(\d.*?}})', u'\\1Bildbezug \\2'),
#BBeschreibung1 -> Bildbeschreibung 1
(ur'({{Englisch Substantiv Ü.*?)BBeschreibung(\d.*?}})', u'\\1Bildbeschreibung \\2'),
#Bild2 usw., Bild3 usw.
(ur'({{Englisch Substantiv Ü.*?)Bild(\d.*?}})', u'\\1Bild \\2'),
(ur'({{Englisch Substantiv Ü.*?)BBreite(\d.*?}})', u'\\1Bildbreite \\2'),
(ur'({{Englisch Substantiv Ü.*?)BBezug(\d.*?}})', u'\\1Bildbezug \\2'),
(ur'({{Englisch Substantiv Ü.*?)BBeschreibung(\d.*?}})', u'\\1Bildbeschreibung \\2'),
(ur'({{Englisch Substantiv Ü.*?)Bild(\d.*?}})', u'\\1Bild \\2'),
(ur'({{Englisch Substantiv Ü.*?)BBreite(\d.*?}})', u'\\1Bildbreite \\2'),
(ur'({{Englisch Substantiv Ü.*?)BBezug(\d.*?}})', u'\\1Bildbezug \\2'),
(ur'({{Englisch Substantiv Ü.*?)BBeschreibung(\d.*?}})', u'\\1Bildbeschreibung \\2'),
#BBreite -> Bildbreite
(ur'({{Englisch Substantiv Ü.*?)BBreite=(.*?}})', u'\\1Bildbreite=\\2'),


itSubstÜbers Bild1-3, BBreite, BBreite1-3, BBezug1-3, BBeschreibung1-3 -> Bild 1...Bearbeiten

wie oben


plSubstÜbers BILD -> Bild; entferne bei Bildbreite fehlerhaften Punkt vor "px"Bearbeiten

#BILD2 -> Bild 2
(ur'({{Polnisch Substantiv Ü.*?)BILD2(.*?}})', u'\\1Bild 2\\2'),
#BILDBREITE2 -> Bildbreite 2; Bildbreite=210.px -> Bildbreite=210px
(ur'({{Polnisch Substantiv Ü.*?)BILDBREITE2(.*?)(\.)??px(.*?}})', u'\\1Bildbreite 2\\2px\\4'),
#BILDBEZUG2 -> Bildbezug 2
(ur'({{Polnisch Substantiv Ü.*?)BILDBEZUG2(.*?}})', u'\\1Bildbezug 2\\2'),
#BILDBESCHREIBUNG -> Bildbeschreibung
(ur'({{Polnisch Substantiv Ü.*?)BILDBESCHREIBUNG2(.*?}})', u'\\1Bildbeschreibung 2\\2'),
(ur'({{Polnisch Substantiv Ü.*?)BILD(.*?}})', u'\\1Bild\\2'),
(ur'({{Polnisch Substantiv Ü.*?)BILDBREITE(.*?)(\.)??px(.*?}})', u'\\1Bildbreite\\2px\\4'),
(ur'({{Polnisch Substantiv Ü.*?)BILDBEZUG(.*?}})', u'\\1Bildbezug\\2'),
(ur'({{Polnisch Substantiv Ü.*?)BILDBESCHREIBUNG(.*?}})', u'\\1Bildbeschreibung\\2'),


laSubstÜbers Bild1-3, BBreite, BBreite1-3, BBezug1-3, BBeschreibung1-3 -> Bild 1...Bearbeiten

#Bild1 -> Bild 1
(ur'({{Lateinisch Substantiv Ü.*?Bild)(\d.*?}})', u'\\1 \\2'),
#BBreite1 -> Bildbreite 1
(ur'({{Lateinisch Substantiv Ü.*?)BBreite(\d.*?}})', u'\\1Bildbreite \\2'),
#BBezug1 -> Bildbezug 1
(ur'({{Lateinisch Substantiv Ü.*?)BBezug(\d.*?}})', u'\\1Bildbezug \\2'),
#BBeschreibung1 -> Bildbeschreibung 1
(ur'({{Lateinisch Substantiv Ü.*?)BBeschreibung(\d.*?}})', u'\\1Bildbeschreibung \\2'),
#Bild2 usw., Bild3 usw.
(ur'({{Lateinisch Substantiv Ü.*?Bild)(\d.*?}})', u'\\1 \\2'),
(ur'({{Lateinisch Substantiv Ü.*?)BBreite(\d.*?}})', u'\\1Bildbreite \\2'),
(ur'({{Lateinisch Substantiv Ü.*?)BBezug(\d.*?}})', u'\\1Bildbezug \\2'),
(ur'({{Lateinisch Substantiv Ü.*?)BBeschreibung(\d.*?}})', u'\\1Bildbeschreibung \\2'),
(ur'({{Lateinisch Substantiv Ü.*?Bild)(\d.*?}})', u'\\1 \\2'),
(ur'({{Lateinisch Substantiv Ü.*?)BBreite(\d.*?}})', u'\\1Bildbreite \\2'),
(ur'({{Lateinisch Substantiv Ü.*?)BBezug(\d.*?}})', u'\\1Bildbezug \\2'),
(ur'({{Lateinisch Substantiv Ü.*?)BBeschreibung(\d.*?}})', u'\\1Bildbeschreibung \\2'),
#BBreite -> Bildbreite
(ur'({{Lateinisch Substantiv Ü.*?)BBreite=(.*?}})', u'\\1Bildbreite=\\2'),


{Literaturliste|!!Großes Wörterbuch Esperanto-Deutsch} -> {Lit-Krause: Gr..}Bearbeiten

  • ab Datum: 3.2.2012
  • Beispiele: kosti
  • user-fixes.py:
(ur'{{Literaturliste\|(Großes Wörterbuch Esperanto-Deutsch}}.*?)\n', u'{{Lit-Krause: \\1\n'),


{deSubstantiv m stark} -> {deSubst Übers}Bearbeiten

# SG=, PL=leer, GENITIV-E=0, BILD=, BILDBR=, BILDBEZ=, BILDBESCHR=
(ur'({{Deutsch Substantiv )m stark\s*\|SINGULAR=([^\n]*?)\s*\|PLURAL=\s*\|GENITIV-E=0\s*\|BILD=([^\n]*?)\s*\|BILDBREITE=([^\n]*?)\s*\|BILDBEZUG=([^\n]*?)\s*\|BILDBESCHREIBUNG=([^\n]*?)\s*}}',
u'\\1Übersicht\n|Bild=\\3|\\4|\\5|\\6\n|Nominativ Singular=der \\2\n|Nominativ Plural=—\n|Genitiv Singular=des \\2s\n|Genitiv Plural=—\n|Dativ Singular=dem \\2\n|Dativ Plural=—\n|Akkusativ Singular=den \\2\n|Akkusativ Plural=—\n}}'),
# SG=, PL=nicht leer, GENITIV-E=0, BILD=, BILDBR=, BILDBEZ=, BILDBESCHR=
(ur'({{Deutsch Substantiv )m stark\s*\|SINGULAR=([^\n]*?)\s*\|PLURAL=([^\s]+[^\n]*?)\s*\|GENITIV-E=0\s*\|BILD=([^\n]*?)\s*\|BILDBREITE=([^\n]*?)\s*\|BILDBEZUG=([^\n]*?)\s*\|BILDBESCHREIBUNG=([^\n]*?)\s*}}',
u'\\1Übersicht\n|Bild=\\4|\\5|\\6|\\7\n|Nominativ Singular=der \\2\n|Nominativ Plural=die \\3\n|Genitiv Singular=des \\2s\n|Genitiv Plural=der \\3\n|Dativ Singular=dem \\2\n|Dativ Plural=den \\3n\n|Akkusativ Singular=den \\2\n|Akkusativ Plural=die \\3\n}}'),
# SG=, PL=nicht leer, GENITIV-E=1, BILD=, BILDBR=, BILDBEZ=, BILDBESCHR=
(ur'({{Deutsch Substantiv )m stark\s*\|SINGULAR=([^\n]*?)\s*\|PLURAL=([^\s]+[^\n]*?)\s*\|GENITIV-E=1\s*\|BILD=([^\n]*?)\s*\|BILDBREITE=([^\n]*?)\s*\|BILDBEZUG=([^\n]*?)\s*\|BILDBESCHREIBUNG=([^\n]*?)\s*}}',
u'\\1Übersicht\n|Bild=\\4|\\5|\\6|\\7\n|Nominativ Singular=der \\2\n|Nominativ Plural=die \\3\n|Genitiv Singular=des \\2es\n|Genitiv Plural=der \\3\n|Dativ Singular=dem \\2<br />dem \\2e\n|Dativ Plural=den \\3n\n|Akkusativ Singular=den \\2\n|Akkusativ Plural=die \\3\n}}'),
# SG=, PL=nicht leer, GENITIV-E=0, ENDUNGS-N=1, BILD=, BILDBR=, BILDBEZ=, BILDBESCHR=
(ur'({{Deutsch Substantiv )m stark\s*\|SINGULAR=([^\n]*?)\s*\|PLURAL=([^\s]+[^\n]*?)\s*\|GENITIV-E=0\s*\|ENDUNGS-N=1\s*\|BILD=([^\n]*?)\s*\|BILDBREITE=([^\n]*?)\s*\|BILDBEZUG=([^\n]*?)\s*\|BILDBESCHREIBUNG=([^\n]*?)\s*}}',
u'\\1Übersicht\n|Bild=\\4|\\5|\\6|\\7\n|Nominativ Singular=der \\2\n|Nominativ Plural=die \\3\n|Genitiv Singular=des \\2s\n|Genitiv Plural=der \\3\n|Dativ Singular=dem \\2\n|Dativ Plural=den \\3\n|Akkusativ Singular=den \\2\n|Akkusativ Plural=die \\3\n}}'),
# SG=, PL=nicht leer, BILD=, BILDBR=, BILDBEZ=, BILDBESCHR=
(ur'({{Deutsch Substantiv )m stark\s*\|SINGULAR=([^\n]*?)\s*\|PLURAL=([^\s]+[^\n]*?)\s*\|BILD=([^\n]*?)\s*\|BILDBREITE=([^\n]*?)\s*\|BILDBEZUG=([^\n]*?)\s*\|BILDBESCHREIBUNG=([^\n]*?)\s*}}',
u'\\1Übersicht\n|Bild=\\4|\\5|\\6|\\7\n|Nominativ Singular=der \\2\n|Nominativ Plural=die \\3\n|Genitiv Singular=des \\2s<br />des \\2es\n|Genitiv Plural=der \\3\n|Dativ Singular=dem \\2<br />dem \\2e\n|Dativ Plural=den \\3n\n|Akkusativ Singular=den \\2\n|Akkusativ Plural=die \\3\n}}'),
# SG=, PL=nicht leer, GENITIV-E=0, ENDUNGS-N=1
(ur'({{Deutsch Substantiv )m stark\s*\|SINGULAR=([^\n]*?)\s*\|PLURAL=([^\s]+[^\n]*?)\s*\|GENITIV-E=0\s*\|ENDUNGS-N=1\s*}}',
u'\\1Übersicht\n|Nominativ Singular=der \\2\n|Nominativ Plural=die \\3\n|Genitiv Singular=des \\2s\n|Genitiv Plural=der \\3\n|Dativ Singular=dem \\2\n|Dativ Plural=den \\3\n|Akkusativ Singular=den \\2\n|Akkusativ Plural=die \\3\n}}'),
# SG=, PL=nicht leer, GENITIV-E=0
(ur'({{Deutsch Substantiv )m stark\s*\|SINGULAR=([^\n]*?)\s*\|PLURAL=([^\s]+[^\n]*?)\s*\|GENITIV-E=0\s*}}',
u'\\1Übersicht\n|Nominativ Singular=der \\2\n|Nominativ Plural=die \\3\n|Genitiv Singular=des \\2s\n|Genitiv Plural=der \\3\n|Dativ Singular=dem \\2\n|Dativ Plural=den \\3n\n|Akkusativ Singular=den \\2\n|Akkusativ Plural=die \\3\n}}'),
# SG=, PL=nicht leer, GENITIV-E=1
(ur'({{Deutsch Substantiv )m stark\s*\|SINGULAR=([^\n]*?)\s*\|PLURAL=([^\s]+[^\n]*?)\s*\|GENITIV-E=1\s*}}',
u'\\1Übersicht\n|Nominativ Singular=der \\2\n|Nominativ Plural=die \\3\n|Genitiv Singular=des \\2es\n|Genitiv Plural=der \\3\n|Dativ Singular=dem \\2<br />dem \\2e\n|Dativ Plural=den \\3n\n|Akkusativ Singular=den \\2\n|Akkusativ Plural=die \\3\n}}'),
# SG=, PL=nicht leer
(ur'({{Deutsch Substantiv )m stark\s*\|SINGULAR=([^\n]*?)\s*\|PLURAL=([^\s]+[^\n]*?)\s*}}',
u'\\1Übersicht\n|Nominativ Singular=der \\2\n|Nominativ Plural=die \\3\n|Genitiv Singular=des \\2s<br />des \\2es\n|Genitiv Plural=der \\3\n|Dativ Singular=dem \\2<br />dem \\2e\n|Dativ Plural=den \\3n\n|Akkusativ Singular=den \\2\n|Akkusativ Plural=die \\3\n}}'),


de Adjektivische Deklination BILD -> Bild..Bearbeiten

(ur'({{Deutsch adjektivische.*?)BILD', u'\\1Bild'),
(ur'({{Deutsch adjektivische.*?)BILD2', u'\\1Bild 2'),
(ur'({{Deutsch adjektivische.*?)BILDBREITE', u'\\1Bildbreite'),
(ur'({{Deutsch adjektivische.*?)BILDBREITE2', u'\\1Bildbreite 2'),
(ur'({{Deutsch adjektivische.*?)BILDBEZUG', u'\\1Bildbezug'),
(ur'({{Deutsch adjektivische.*?)BILDBEZUG2', u'\\1Bildbezug 2'),
(ur'({{Deutsch adjektivische.*?)BILDBESCHREIBUNG', u'\\1Bildbeschreibung'),
(ur'({{Deutsch adjektivische.*?)BILDBESCHREIBUNG2', u'\\1Bildbeschreibung 2'),


{Deutsch Substantiv n stark} -> {deSubstÜb}Bearbeiten

# SG=, PL=leer, GENITIV-E=0, BILD=, BILDBR=, BILDBEZ=, BILDBESCHR=
(ur'({{Deutsch Substantiv )n stark\s*\|SINGULAR=([^\n]*?)\s*\|PLURAL=\s*\|GENITIV-E=0\s*\|BILD=([^\n]*?)\s*\|BILDBREITE=([^\n]*?)\s*\|BILDBEZUG=([^\n]*?)\s*\|BILDBESCHREIBUNG=([^\n]*?)\s*}}',
u'\\1Übersicht\n|Bild=\\3|\\4|\\5|\\6\n|Nominativ Singular=das \\2\n|Nominativ Plural=—\n|Genitiv Singular=des \\2s\n|Genitiv Plural=—\n|Dativ Singular=dem \\2\n|Dativ Plural=—\n|Akkusativ Singular=das \\2\n|Akkusativ Plural=—\n}}'),
# SG=, PL=nicht leer, GENITIV-E=0, BILD=, BILDBR=, BILDBEZ=, BILDBESCHR=
(ur'({{Deutsch Substantiv )n stark\s*\|SINGULAR=([^\n]*?)\s*\|PLURAL=([^\s]+[^\n]*?)\s*\|GENITIV-E=0\s*\|BILD=([^\n]*?)\s*\|BILDBREITE=([^\n]*?)\s*\|BILDBEZUG=([^\n]*?)\s*\|BILDBESCHREIBUNG=([^\n]*?)\s*}}',
u'\\1Übersicht\n|Bild=\\4|\\5|\\6|\\7\n|Nominativ Singular=das \\2\n|Nominativ Plural=die \\3\n|Genitiv Singular=des \\2s\n|Genitiv Plural=der \\3\n|Dativ Singular=dem \\2\n|Dativ Plural=den \\3n\n|Akkusativ Singular=das \\2\n|Akkusativ Plural=die \\3\n}}'),
# SG=, PL=nicht leer, GENITIV-E=1, BILD=, BILDBR=, BILDBEZ=, BILDBESCHR=
(ur'({{Deutsch Substantiv )n stark\s*\|SINGULAR=([^\n]*?)\s*\|PLURAL=([^\s]+[^\n]*?)\s*\|GENITIV-E=1\s*\|BILD=([^\n]*?)\s*\|BILDBREITE=([^\n]*?)\s*\|BILDBEZUG=([^\n]*?)\s*\|BILDBESCHREIBUNG=([^\n]*?)\s*}}',
u'\\1Übersicht\n|Bild=\\4|\\5|\\6|\\7\n|Nominativ Singular=das \\2\n|Nominativ Plural=die \\3\n|Genitiv Singular=des \\2es\n|Genitiv Plural=der \\3\n|Dativ Singular=dem \\2<br />dem \\2e\n|Dativ Plural=den \\3n\n|Akkusativ Singular=das \\2\n|Akkusativ Plural=die \\3\n}}'),
# SG=, PL=nicht leer, GENITIV-E=0, ENDUNGS-N=1, BILD=, BILDBR=, BILDBEZ=, BILDBESCHR=
(ur'({{Deutsch Substantiv )n stark\s*\|SINGULAR=([^\n]*?)\s*\|PLURAL=([^\s]+[^\n]*?)\s*\|GENITIV-E=0\s*\|ENDUNGS-N=1\s*\|BILD=([^\n]*?)\s*\|BILDBREITE=([^\n]*?)\s*\|BILDBEZUG=([^\n]*?)\s*\|BILDBESCHREIBUNG=([^\n]*?)\s*}}',
u'\\1Übersicht\n|Bild=\\4|\\5|\\6|\\7\n|Nominativ Singular=das \\2\n|Nominativ Plural=die \\3\n|Genitiv Singular=des \\2s\n|Genitiv Plural=der \\3\n|Dativ Singular=dem \\2\n|Dativ Plural=den \\3\n|Akkusativ Singular=das \\2\n|Akkusativ Plural=die \\3\n}}'),
# SG=, PL=nicht leer, BILD=, BILDBR=, BILDBEZ=, BILDBESCHR=
(ur'({{Deutsch Substantiv )n stark\s*\|SINGULAR=([^\n]*?)\s*\|PLURAL=([^\s]+[^\n]*?)\s*\|BILD=([^\n]*?)\s*\|BILDBREITE=([^\n]*?)\s*\|BILDBEZUG=([^\n]*?)\s*\|BILDBESCHREIBUNG=([^\n]*?)\s*}}',
u'\\1Übersicht\n|Bild=\\4|\\5|\\6|\\7\n|Nominativ Singular=das \\2\n|Nominativ Plural=die \\3\n|Genitiv Singular=des \\2s<br />des \\2es\n|Genitiv Plural=der \\3\n|Dativ Singular=dem \\2<br />dem \\2e\n|Dativ Plural=den \\3n\n|Akkusativ Singular=das \\2\n|Akkusativ Plural=die \\3\n}}'),
# SG=, PL=nicht leer, GENITIV-E=0, ENDUNGS-N=1
(ur'({{Deutsch Substantiv )n stark\s*\|SINGULAR=([^\n]*?)\s*\|PLURAL=([^\s]+[^\n]*?)\s*\|GENITIV-E=0\s*\|ENDUNGS-N=1\s*}}',
u'\\1Übersicht\n|Nominativ Singular=das \\2\n|Nominativ Plural=die \\3\n|Genitiv Singular=des \\2s\n|Genitiv Plural=der \\3\n|Dativ Singular=dem \\2\n|Dativ Plural=den \\3\n|Akkusativ Singular=das \\2\n|Akkusativ Plural=die \\3\n}}'),
# SG=, PL=nicht leer, GENITIV-E=0
(ur'({{Deutsch Substantiv )n stark\s*\|SINGULAR=([^\n]*?)\s*\|PLURAL=([^\s]+[^\n]*?)\s*\|GENITIV-E=0\s*}}',
u'\\1Übersicht\n|Nominativ Singular=das \\2\n|Nominativ Plural=die \\3\n|Genitiv Singular=des \\2s\n|Genitiv Plural=der \\3\n|Dativ Singular=dem \\2\n|Dativ Plural=den \\3n\n|Akkusativ Singular=das \\2\n|Akkusativ Plural=die \\3\n}}'),
# SG=, PL=nicht leer, GENITIV-E=1
(ur'({{Deutsch Substantiv )n stark\s*\|SINGULAR=([^\n]*?)\s*\|PLURAL=([^\s]+[^\n]*?)\s*\|GENITIV-E=1\s*}}',
u'\\1Übersicht\n|Nominativ Singular=das \\2\n|Nominativ Plural=die \\3\n|Genitiv Singular=des \\2es\n|Genitiv Plural=der \\3\n|Dativ Singular=dem \\2<br />dem \\2e\n|Dativ Plural=den \\3n\n|Akkusativ Singular=das \\2\n|Akkusativ Plural=die \\3\n}}'),
# SG=, PL=nicht leer
(ur'({{Deutsch Substantiv )n stark\s*\|SINGULAR=([^\n]*?)\s*\|PLURAL=([^\s]+[^\n]*?)\s*}}',
u'\\1Übersicht\n|Nominativ Singular=das \\2\n|Nominativ Plural=die \\3\n|Genitiv Singular=des \\2s<br />des \\2es\n|Genitiv Plural=der \\3\n|Dativ Singular=dem \\2<br />dem \\2e\n|Dativ Plural=den \\3n\n|Akkusativ Singular=das \\2\n|Akkusativ Plural=die \\3\n}}'),


caSubstÜbers Bild1-3, BBreite, BBreite1-3, BBezug1-3, BBeschreibung1-3 -> Bild 1...Bearbeiten

wie Lateinisch


ocSubstÜbers Bild1-3, BBreite, BBreite1-3, BBezug1-3, BBeschreibung1-3 -> Bild 1...Bearbeiten

wie Lateinisch


esSubstÜbers Bild1-3, BBreite, BBreite1-3, BBezug1-3, BBeschreibung1-3 -> Bild 1...Bearbeiten

  • ab Datum: 17.2.2012
  • Beispiele: naranja, ajo
  • user-fixes.py:
wie Lateinisch


{Literaturliste|WöbuCatOcc|sup=2005} -> {Lit-Balaguer: Diccionari..}; p. -> SeiteBearbeiten

(ur'{{Literaturliste\|WöbuCatOcc\|sup=2005}}, p\.',
 u'{{Lit-Balaguer: Diccionari Català - Occità / Occitan - Catalan}}, Seite'),
(ur'{{Literaturliste\|WöbuCatOcc\|sup=2005',
 u'{{Lit-Balaguer: Diccionari Català - Occità / Occitan - Catalan'),


{Literaturliste|WöbuOccAng|sup=2006} -> {Lit-Furness: Diccionari Occitan..}; p. oder S. -> SeiteBearbeiten

(ur'{{Literaturliste\|WöbuOccAng\|sup=2006}}(.*?)[pS]\.( \d)',
 u'{{Lit-Furness: Diccionari Occitan - Anglés / English - Occitan}}\\1Seite\\2'),
(ur'{{Literaturliste\|WöbuOccAng\|sup=2006',
 u'{{Lit-Furness: Diccionari Occitan - Anglés / English - Occitan'),


{Literaturliste|WöbuOccFra|sup=1971} -> {Lit-Lagarda: Vocabulari Occitan}; p. oder S. -> SeiteBearbeiten

wie oben


{Literaturliste|Einführung in die sardische Sprache} -> {Lit-Mensching: Einführung..}; p/S. -> SeiteBearbeiten

wie oben


{Literaturliste|Einführung in die okz..} -> {Lit-Cichon: Einführung..}; p/S. -> SeiteBearbeiten

wie oben


{Literaturliste|Stowasser|sup=1998} -> {Lit-Stowasser: Lat..}; p/S. -> Seite; FormBearbeiten

#entferne {Ähnlichkeiten} mit folgendem Doppelpunkt, falls leer
(ur'(.*?)\s\n{{Ähnlichkeiten}}\s\n:( )?[^[]', u'\\1'),
#entferne alle Leerstellen am Zeilenende, {außer nach "]" (wegen ":[1] ")
(ur'(.*?[^\n]*?[^]])\s*?(\n)', u'\\1\\2'),
#entferne Kommentar
(ur'(.*?)<!-- /Flexionstabelle\n/-->\n', u'\\1'),
#-> genau eine Zeile vor Textbausteinen (außer 'Refs prüfen') sowie vor Flexvorlagen der wichtigsten Sprachen, nicht mehr und nicht weniger
(ur'(.*?)\s*?\n{{(Anmerkung|Alternative Schreibweisen|Nebenformen|Silbentrennung|Aussprache|Bedeutungen|Abkürzungen|Herkunft|Synonyme|Gegenwörter|Oberbegriffe|Unterbegriffe|Beispiele|Redewendungen|Sprichwörter|Charakteristische Wortkombinationen|Abgeleitete Begriffe|Referenzen}|Grammatische Merkmale|Grundformverweis|Quellen|Ähnlichkeiten|Adjektiv-Tabelle|Verb-Tabelle|Deutsch|Englisch|Italienisch|Französisch|Polnisch|Katalanisch|Lateinisch|Okzitanisch|Tschechisch|Spanisch|Ungarisch)',
 u'\\1\n\n{{\\2'),
#entferne Leerstelle nach {Ähnlichkeiten} zw ":" und [[
(ur'({{Ähnlichkeiten}}\s*:)\s?\[', u'\\1['),
#{Literaturliste|Stowasser|sup=1998} -> {Lit-Stowasser: Lateinisch-Deutsches Schulwörterbuch|A=1994}
#ersetze p. durch Seite; ersetze S. durch Seite
(ur'{{Literaturliste\|Stowasser\|sup=1998}}(.*?\s)[pS]\.( \d)', u'{{Lit-Stowasser: Lateinisch-Deutsches Schulwörterbuch|A=1994}}\\1Seite\\2'),
(ur'{{Literaturliste\|Stowasser\|sup=1998', u'{{Lit-Stowasser: Lateinisch-Deutsches Schulwörterbuch|A=1994'),
  • Aufruf:
python replace.py -ns:0 -dotall -fix:Lit-Stowasser -transcludes:"!!Stowasser1998"


{Literaturliste|Mittellateinisches Glossar} -> {Lit-Habel:..}; p. oder S. -> Seite; FormBearbeiten


{Literaturliste|Kluge|sup=24} -> {Lit-Kluge: Etymologisches Wörterbuch|A=24}; p./S. -> Seite; FormBearbeiten

#enthält {Ref-Grimm} 3 Punkte und kein ßäöüÄÖÜ, entferne die Punkte
(ur'({{Ref-Grimm\|[a-zA-Z-]+?)\|\.\.\.}}', u'\\1}}'),
#enthält {Ref-Grimm} ein 'ßäöüÄÖÜ' und 3 Punkte, ersetze es durch 'sz|ae|oe|ue|Ae|Oe|Ue' und entferne die Punkte
(ur'({{Ref-Grimm\|[a-zA-Z-]*?)ß([a-zA-Z-]*?)\|\.\.\.}}', u'\\1sz\\2}}'),
(ur'({{Ref-Grimm\|[a-zA-Z-]*?)ä([a-zA-Z-]*?)\|\.\.\.}}', u'\\1ae\\2}}'),
(ur'({{Ref-Grimm\|[a-zA-Z-]*?)ö([a-zA-Z-]*?)\|\.\.\.}}', u'\\1oe\\2}}'),
(ur'({{Ref-Grimm\|[a-zA-Z-]*?)ü([a-zA-Z-]*?)\|\.\.\.}}', u'\\1ue\\2}}'),
(ur'({{Ref-Grimm\|[a-zA-Z-]*?)Ä([a-zA-Z-]*?)\|\.\.\.}}', u'\\1Ae\\2}}'),
(ur'({{Ref-Grimm\|[a-zA-Z-]*?)Ö([a-zA-Z-]*?)\|\.\.\.}}', u'\\1Oe\\2}}'),
(ur'({{Ref-Grimm\|[a-zA-Z-]*?)Ü([a-zA-Z-]*?)\|\.\.\.}}', u'\\1Ue\\2}}'),
#entferne {Ähnlichkeiten} mit folgendem Doppelpunkt, falls leer und nicht am Seitenende
(ur'(.*?)\s\n{{Ähnlichkeiten}}\s\n:[\n|\s][\n|\s]', u'\\1'),
#entferne alle Leerstellen am Zeilenende
(ur'(.*?[^\n]*?[^]])\s*?(\n)', u'\\1\\2'),
#entferne Kommentar, Kategorie
(ur'(.*?)<!-- /Flexionstabelle\n/-->\n', u'\\1'),
#-> genau eine Zeile vor Textbausteinen sowie vor Flexvorlagen der wichtigsten Sprachen, nicht mehr und nicht weniger
(ur'(.*?)\s*?\n{{(Anmerkung|Alternative Schreibweisen|Nebenformen|Silbentrennung|Aussprache|Bedeutungen|Abkürzungen|Herkunft|Synonyme|Gegenwörter|Oberbegriffe|Unterbegriffe|Beispiele|Redewendungen|Sprichwörter|Charakteristische Wortkombinationen|Abgeleitete Begriffe|Referenzen}|Grammatische Merkmale|Grundformverweis|Quellen|Ähnlichkeiten|Adjektiv-Tabelle|Verb-Tabelle|Deutsch|Englisch|Italienisch|Französisch|Polnisch|Katalanisch|Lateinisch|Okzitanisch|Tschechisch|Spanisch|Ungarisch)',
 u'\\1\n\n{{\\2'),
#entferne Leerstelle nach {Ähnlichkeiten} zw ":" und [[XY]]
(ur'({{Ähnlichkeiten}}\s*:)\s?\[', u'\\1['),
#{Literaturliste|Mittellateinisches Glossar|sup=1959} -> {Lit-Habel: Mittellateinisches Glossar|A=2}
#ersetze p. durch Seite;  ersetze S. durch Seite
(ur'{{Literaturliste|Kluge|sup=24}}(.*? )[pS]\.( \d)', u'{{Lit-Kluge: Etymologisches Wörterbuch|A=24}}\\1Seite\\2'),
(ur'{{Literaturliste|Kluge|sup=24', u'{{Lit-Kluge: Etymologisches Wörterbuch|A=24'),
  • Aufruf:
python replace.py -ns:0 -dotall -fix:Lit-Kluge -transcludes:"!!Kluge24"


verschiebe {kPl.} (kein Plural) aus Überschrift zur Silbentrg, falls dort nicht vorhandenBearbeiten

(ur'(===[^\n]*?)\,  ??({{kPl.}}|\'\'kein Plural\'\')([^\n]*?===.*?ilbentrennung}} ??\s\n:[^\n]*?)(\,? {{kPl.}} ??)?\s\n',
u'\\1\\3, {{kPl.}}\n'),
  • Aufruf:
python replace.py -ns:0 -dotall -regex -xml:"C:\Pfad\dewiktionary-20120225-pages-articles.xml" -fix:kPl


{Literaturliste|Pfeifer|sup=8} -> {Lit-Pfeifer: Etymologisches Wörterbuch|A=8}; p./S. -> Seite; FormBearbeiten

#ersetze <br> und <br/> durch <br />
(ur'(.*?<br)/??>', u'\\1 />'),
#verschiebe Pipe nach 'Sprache Substantiv/Adj/Verb/Adv Übersicht' an Anf der nächsten Zeile
(ur'({{\w+? (Substantiv|Adjektiv|Verb|Adverb) Übersicht)\|( )??\s\n', u'\\1\n|'),
#enthält {Ref-Grimm} 3 Punkte und kein ßäöüÄÖÜ, entferne die Punkte
(ur'({{Ref-Grimm\|[a-zA-Z-]+?)\|\.\.\.}}', u'\\1}}'),
#enthält {Ref-Grimm} ein 'ßäöüÄÖÜ' und 3 Punkte, ersetze es durch 'sz|ae|oe|ue|Ae|Oe|Ue' und entferne die Punkte
(ur'({{Ref-Grimm\|[a-zA-Z-]*?)ß([a-zA-Z-]*?)\|\.\.\.}}', u'\\1sz\\2}}'),
(ur'({{Ref-Grimm\|[a-zA-Z-]*?)ä([a-zA-Z-]*?)\|\.\.\.}}', u'\\1ae\\2}}'),
(ur'({{Ref-Grimm\|[a-zA-Z-]*?)ö([a-zA-Z-]*?)\|\.\.\.}}', u'\\1oe\\2}}'),
(ur'({{Ref-Grimm\|[a-zA-Z-]*?)ü([a-zA-Z-]*?)\|\.\.\.}}', u'\\1ue\\2}}'),
(ur'({{Ref-Grimm\|[a-zA-Z-]*?)Ä([a-zA-Z-]*?)\|\.\.\.}}', u'\\1Ae\\2}}'),
(ur'({{Ref-Grimm\|[a-zA-Z-]*?)Ö([a-zA-Z-]*?)\|\.\.\.}}', u'\\1Oe\\2}}'),
(ur'({{Ref-Grimm\|[a-zA-Z-]*?)Ü([a-zA-Z-]*?)\|\.\.\.}}', u'\\1Ue\\2}}'),
#entferne {Ähnlichkeiten}, falls leer
(ur'(.*?\s\n){{Ähnlichkeiten}}\s\n[\n|\s][\n|\s]', u'\\1'),
(ur'(.*?)\s\n{{Ähnlichkeiten}}\s\n:[\n|\s][\n|\s]', u'\\1'),
#entferne alle Leerzeichen am Zeilenende, {außer nach "]" (wegen ":[1] ")
(ur'(.*?[^\n]*?[^]])\s*?(\n)', u'\\1\\2'),
#entferne Kommentar, Kategorie
(ur'(.*?)<!-- /Flexionstabelle\n/-->\n', u'\\1'),
(ur'(.*?)<!-- /Dialekttabelle\s\n/-->', u'\\1'),
(ur'(.*?{{Ähnlichkeiten}})<!-- tot beim Eintrag von Tod\, und umgekehrt -->\s', u'\\1'),
(ur'(.*?)<!-- Links/Rechts -->', u'\\1'),
(ur'(.*?)<!-- Unterbegriffe absteigend nach Größe sortiert -->', u'\\1'),
(ur'(.*?)\s\n\[\[Kategorie:Audio-Datei\]\]\s\n', u'\\1'),
#''f'' -> {{f}}
(ur'(.*?} )\'\'f\'\'', u'\\1{{f}}'),
(ur'(.*?} )\'\'m\'\'', u'\\1{{m}}'),
(ur'(.*?} )\'\'n\'\'', u'\\1{{n}}'),
#-> genau eine Zeile vor Textbausteinen sowie vor Flexvorlagen der wichtigsten Sprachen, nicht mehr und nicht weniger
(ur'(.*?)\s*?\n{{(Anmerkung|Alternative Schreibweisen|Nebenformen|Silbentrennung|Aussprache|Bedeutungen|Abkürzungen|Herkunft|Synonyme|Gegenwörter|Oberbegriffe|Unterbegriffe|Beispiele|Redewendungen|Sprichwörter|Charakteristische Wortkombinationen|Abgeleitete Begriffe|Referenzen}|Grammatische Merkmale|Grundformverweis|Quellen|Ähnlichkeiten|Adjektiv-Tabelle|Verb-Tabelle|Deutsch|Englisch|Italienisch|Französisch|Polnisch|Katalanisch|Lateinisch|Okzitanisch|Tschechisch|Spanisch|Ungarisch)',
u'\\1\n\n{{\\2'),
#entferne Leerzeichen nach {Ähnlichkeiten} zw ":" und [[XY]]
(ur'({{Ähnlichkeiten}}\s*:)\s?\[', u'\\1['),
#{Literaturliste\|Pfeifer\|sup=8} -> {Lit-Pfeifer: Etymologisches Wörterbuch|A=8}
#ersetze p./S. durch Seite
(ur'{{Literaturliste\|Pfeifer\|sup=8}}(.*? )[pS]\.( \d)', u'{{Lit-Pfeifer: Etymologisches Wörterbuch|A=8}}\\1Seite\\2'),
(ur'{{Literaturliste\|Pfeifer\|sup=8', u'{{Lit-Pfeifer: Etymologisches Wörterbuch|A=8'),


verschiebe {kSt.} (nicht steigerbar) aus Überschrift zur Silbentrg, falls dort nicht vorhandenBearbeiten

(ur'(===[^\n]*?)\,  ??({{kSt.}}|nicht steigerbar)([^\n]*?===.*?ilbentrennung}}\s*?\n:[^\n]*?)(\,? {{kSt.}} ??)? *?\s\n', u'\\1\\3, {{kSt.}}\n'),


verschiebe in der Überschr {m/f/n} hinter {Wortart|Subst}, FormBearbeiten

(ur'(===  ??{{Wortart\|Substantiv\|\w+?}})((\, {{Wort[^\n]*?)??(\, {{Wort[^\n]*?)??(\, {{Wort[^\n]*?)??)\,  ??({{\w{1,3}}})((\,  ??[^\n]*?)??)  ??===', u'\\1, \\6\\2\\7 ==='),
#zusätzlich: entferne überfl Leerzeichen vor === oder füge ein fehlendes ein
(ur'(===  ??{{Wortart\|Substantiv\|\w+?}})((\, {{Wort[^\n]*?)??(\, {{Wort[^\n]*?)??(\, {{Wort[^\n]*?)??)\,  ??({{\w{1,3}}})((\,  ??[^\n]*?)??[^\s]+?)[\s]*?===', u'\\1, \\6\\2\\7 ==='),


Bot: ersetze {m}, {f} durch {mf} usw.Bearbeiten

(ur'(===[^\n]*?[^{]\w}}\,[\s]*?){{m}}[\s]*?(\,|/|\'\'/\'\'|und|\'\'und\'\'|oder|\'\'oder\'\'|, auch:??)[\s]*?{{f}}([^,][^\n]*?===)',
u'\\1{{mf}}\\3'),
(ur'(===[^\n]*?[^{]\w}}\,[\s]*?){{f}}[\s]*?(\,|/|\'\'/\'\'|und|\'\'und\'\'|oder|\'\'oder\'\'|, auch:??)[\s]*?{{m}}([^,][^\n]*?===)',
u'\\1{{fm}}\\3'),
(ur'(===[^\n]*?[^{]\w}}\,[\s]*?){{n}}[\s]*?(\,|/|\'\'/\'\'|und|\'\'und\'\'|oder|\'\'oder\'\'|, auch:??)[\s]*?{{m}}([^,][^\n]*?===)',
u'\\1{{nm}}\\3'),
#ersetze {n}, {f} durch {nf}, außer bei {m}, {n}, {f} (Dschungel)
(ur'(===[^\n]*?[^{]\w}}\,[\s]*?){{n}}[\s]*?(\,|/|\'\'/\'\'|und|\'\'und\'\'|oder|\'\'oder\'\'|, auch:??)[\s]*?{{f}}([^\n]*?===)',
u'\\1{{nf}}\\3'),
#ersetze {f}, {n} durch {fn}, außer bei {m}, {f}, {n} (Nutella) und {f}, {n}, {m} (Nudossi)
(ur'(===[^\n]*?[^{]\w}}\,[\s]*?){{f}}[\s]*?(\,|/|\'\'/\'\'|und|\'\'und\'\'|oder|\'\'oder\'\'|, auch:??)[\s]*?{{n}}([^,][^\n]*?===)',
u'\\1{{fn}}\\3'),
#ersetze {m} / {n} durch {m}, {n}
(ur'(===[^\n]*?){{m}}[\s]*?(\,|/|\'\'/\'\'|und|\'\'und\'\'|oder|\'\'oder\'\'|, auch:??)[\s]*?{{n}}([^\n]*?===)',
u'\\1{{m}}, {{n}}\\3'),
(ur'(===[^\n]*?){{m}}[\s]*?\((\,|/|\'\'/\'\'|und|\'\'und\'\'|oder|\'\'oder\'\'|, auch:??)[\s]*?{{n}}\)([^\n]*?===)',
u'\\1{{m}}, {{n}}\\3'),


{Literaturliste|Duden...} -> {Lit-Duden:...}; p./S. -> Seite; FormBearbeiten

(ur'{{Literaturliste\|Duden\, Etym(\|sup=)??3}}(.*? )[pS]\.( |&nbsp;)(\d)', u'{{Lit-Duden: Herkunftswörterbuch|A=3}}\\2Seite \\4'),
(ur'{{Literaturliste\|Duden\, Etym(\|sup=)??3', u'{{Lit-Duden: Herkunftswörterbuch|A=3'),
(ur'{{Literaturliste\|Duden\, Rechtschreibung\|sup=24}}(.*? )[pS]\.( |&nbsp;)(\d)', u'{{Lit-Duden: Rechtschreibung|A=24}}\\2Seite \\3'),
(ur'{{Literaturliste\|Duden\, Rechtschreibung\|sup=24', u'{{Lit-Duden: Rechtschreibung|A=24'),
(ur'{{Literaturliste\|Duden\, Redewendungen\|sup=(2|3)}}(.*? )[pS]\.( |&nbsp;)(\d)', u'{{Lit-Duden: Redewendungen|A=\\1}}\\2Seite \\4'),
(ur'{{Literaturliste\|Duden\, Redewendungen\|sup=(2|3)', u'{{Lit-Duden: Redewendungen|A=\\1'),
Rest wie oben
  • Aufruf:
python replace.py -ns:0 -dotall -fix:Lit-Dud -transcludes:"!!Duden, Etym3" -transcludes:"!!Duden, Rechtschreibung24" -transcludes:"!!Duden, Redewendungen2" -transcludes:"!!Duden, Redewendungen3"


entferne Wortart Eigenname/Singulare/Pluraletantum aus ÜberschrBearbeiten

(ur'(===[^\n]*?)\, *?{{Wortart\|(Singular|Plural)etantum\|[\w]*?}}([^\n]*?===)', u'\\1\\3'),
#entf Wortart Eigenname nach/vor Toponym/Vorname/Nachname
(ur'(===[^\n]*?art\|(Toponym|Vorname|Nachname)[^\n]*?)\, *?{{Wortart\|Eigenname\|[\w]*?}}([^\n]*?===)', u'\\1\\3'),
(ur'(===[^\n]*?)\, *?{{Wortart\|Eigenname\|[\w]*?}}([^\n]*?art\|(Toponym|Vorname|Nachname)[^\n]*?===)', u'\\1\\2'),


Bot: {Literaturliste|WöbuOccFra|sup=2005} -> {Lit-...}, FormBearbeiten

#{Literaturliste|WöbuOccFra|sup=2005} -> {Lit-Cassinhac: Le dictionnaire Occitan – Français}
#ersetze p./S. durch Seite
(ur'{{Literaturliste\|WöbuOccFra\|sup=2005}}(.*? )[pS]\.( | )(\d)',
 u'{{Lit-Cassinhac: Le dictionnaire Occitan – Français}}\\2Seite \\3'),
(ur'{{Literaturliste\|WöbuOccFra\|sup=2005',
 u'{{Lit-Cassinhac: Le dictionnaire Occitan – Français'),
Rest siehe oben


Bot: {Bot: {Literaturliste|...} -> {Lit-...}, FormBearbeiten

#{{Literaturliste|Khull, Vornamenbüchlein}} -> {{Lit-Khull: Namenbüchlein|A=1}}
#{{Literaturliste|LangenscheidtAlbanisch|sup=2000}} -> {{Lit-Langenscheidt: Handwörterbuch Albanisch|A=1}}
#{{Literaturliste|Lgrc|sup=1993}} -> {{Lit-Langenscheidt: Taschenwörterbuch Altgriechisch|A=13}}
#{{Literaturliste|Naumann/Schlimpert/Schultheis, Vornamen}} -> {{Lit-Naumann: Vornamenbuch}}
#{{Literaturliste|Weitershaus, Vornamen|sup=2}} -> {{Lit-Weitershaus: Lexikon der Vornamen}}
#ersetze p./S. durch Seite
(ur'{{Literaturliste\|Khull\, Vornamenbüchlein}}(.*? )[pS]\.( | )(\d)', u'{{Lit-Khull: Namenbüchlein|A=1}}\\1Seite \\3'),
(ur'{{Literaturliste\|Khull\, Vornamenbüchlein', u'{{Lit-Khull: Namenbüchlein|A=1'),
(ur'{{Literaturliste\|LangenscheidtAlbanisch\|sup=2000}}(.*? )[pS]\.( | )(\d)', u'{{Lit-Langenscheidt: Handwörterbuch Albanisch|A=1}}\\1Seite \\3'),
(ur'{{Literaturliste\|LangenscheidtAlbanisch\|sup=2000', u'{{Lit-Langenscheidt: Handwörterbuch Albanisch|A=1'),
(ur'{{Literaturliste\|Lgrc\|sup=1993}}(.*? )[pS]\.( | )(\d)', u'{{Lit-Langenscheidt: Taschenwörterbuch Altgriechisch|A=13}}\\1Seite \\3'),
(ur'{{Literaturliste\|Lgrc\|sup=1993', u'{{Lit-Langenscheidt: Taschenwörterbuch Altgriechisch|A=13'),
(ur'{{Literaturliste\|Naumann/Schlimpert/Schultheis\, Vornamen}}(.*? )[pS]\.( | )(\d)', u'{{Lit-Naumann: Vornamenbuch}}\\1Seite \\3'),
(ur'{{Literaturliste\|Naumann/Schlimpert/Schultheis\, Vornamen', u'{{Lit-Naumann: Vornamenbuch'),
(ur'{{Literaturliste\|Weitershaus\, Vornamen\|sup=2}}(.*? )[pS]\.( | )(\d)', u'{{Lit-Weitershaus: Lexikon der Vornamen|J=1992}}\\1Seite \\3'),
(ur'{{Literaturliste\|Weitershaus\, Vornamen\|sup=2', u'{{Lit-Weitershaus: Lexikon der Vornamen|J=1992'),
Rest siehe oben
  • Aufruf:
python replace.py -ns:0 -dotall -fix:Lit-Div -transcludes:"!!Khull, Vornamenbüchlein" -transcludes:"!!LangenscheidtAlbanisch2000" -transcludes:"!!Lgrc1993" -transcludes:"!!Naumann/Schlimpert/Schultheis, Vornamen" -transcludes:"!!Weitershaus, Vornamen2"


Bot: Überschrift: Füge vor Vorname/Toponym {Wortart|Subst} ein, falls nicht vorhanden und verschiebe {f} hinter SubstBearbeiten

(ur'=== *?({{Wortart\|Substantiv\|\w+?}} ??,)?? ??({{Wortart\|(Vorname|Toponym)(\|\w+?}})), ??({{\w{1,3}}})([^\n]*?===)',
 u'=== {{Wortart|Substantiv\\4, \\5, \\2\\6')
  • Aufruf:
python replace.py -ns:0 -dotall -regex -multiline -xml:"C:\Pfad\dewiktionary-20120321-pages-articles.xml" -excepttitle:Wiktionary: -excepttitle:Hilfe: -excepttitle:\(Konjugation -excepttitle:\(Deklination -fix:SubVornTop