Benutzer:StipenTreublatt/Bot: Unterschied zwischen den Versionen

aus Wiki Aventurica, dem DSA-Fanprojekt
K (→‎category.py: hat sich mittlerweile erledigt)
(man fragt sich wirklich, ob da einer der Programmierer es sich zum Ziel gesetzt hat, den Bot möglichst unpraktisch zu machen)
 
(77 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{zitat|Zitat=<pre>
{{Archivunterseite}}
@echo off
{| class="wikitable" width=400 style="background-color:white; float:right"
|-
! colspan=2 |Was kann man ändern?
|-
| colspan=2 class="hintergrund" |Mit '''pwb.py replace''' kann man so ziemlich alles machen ([[Benutzer:StipenTreublatt/Bot/Regex-Aufrufe|Beispiele]]), man muss es jedoch selbst programmieren; für häufige Aufgaben gibt es daher Skripte, die das komfortabler erledigen.
|-
|pwb.py category move -from:"A" -to:"B"
|Verschiebe Kategorie A samt Inhalt nach Kategorie B
|-
|pwb.py category remove -from:"A"
|Kategorie A wird geleert und gelöscht
|-
|pwb.py add_text -cat:"A" -text:"B" -except:"C" -up
|Fügt am Anfang aller Seiten der Kategorie A den Text B hinzu, außer auf der Seite steht C
|-
|pwb.py template "A" "B"
|Vorlage A wird durch Vorlage B ersetzt
|-
|pwb.py template -remove "A"
|Vorlage A wird entfernt
|-
|pwb.py redirect double
|Doppelte Weiterleitungen werden repariert, mit Änderungsnachfrage.
|-
|pwb.py redirect broken
|Weiterleitungen auf nicht vorhandene Seiten werden nach Bestätigung gelöscht.


set path=%path%;F:\programme\python25
|-
cd F:\programme\python25\pywikipediabot
! colspan=2 |Wie kann man zu bearbeitende Artikelgruppen auswählen?
python login.py
|-
</pre>
|cat:A
Das musst du dann nur noch günstig (schnell zugreifbar) abspeichern (heißt bei mir bot.bat), z.B. direkt unter c:\. Danach kannst du nach dem Öffnen der Kommandozeile und Aufruf des Skripts ohne Umwege loslegen. --[[Benutzer:Falk Steinhauer|Falk Steinhauer]] 16:54, 12. Maerz. 2008 (CET)}}
|Alle Artikel der Kategorie A
 
|-
*[http://botwiki.sno.cc/wiki/Manual:Speed_guide_for_pywikipediabot Manual:Speed_guide_for_pywikipediabot]
|catr:A
*[[Benutzer:StipenTreublatt/Wiki Aventurica/StipBot/Software und Anpassungen|Software und Anpassungen]]
|wie cat, zusätzlich alle Artikel aller enthaltenen Unterkategorien
*[[Benutzer:StipenTreublatt/Wiki Aventurica/StipBot/Testseite|Testseite]]
|-
*[[Benutzer:StipenTreublatt/Wiki Aventurica/StipBot/isbn.py Hilfe|isbn.py Hilfe]]
|subcats:A
*[[Benutzer:StipenTreublatt/Wiki Aventurica/StipBot/Regex-Aufrufe|Regex-Aufrufe]]
|Alle Unterkategorieseiten der Kategorie A
*[[Hilfe:Regular Expressions]]; [[Wiki Aventurica:Robots/Dokumentation zu replace.py]]
|-
*Befehle zum Kopieren und Einfügen:
|subcatsr:A
:'''set path=%path%;F:\programme\python26'''
|wie subcats, zusätzlich alle Unterkategorien der Unterkategorien
:'''cd F:\programme\python26\pywikipediabot'''
|-
:'''python login.py'''
|uncat
*Parameter '''-help''' liefert oft eine Erklärung des Skriptes
|Alle nicht-kategorisierten Artikel
*Mit dem Parameter '''-summary:""''' kann man eine eigene Zusammenfassung der Änderung eingeben. Damit wird die Versionsgeschichte der geänderten Artikel nicht zu sehr zugemüllt.
|-
*Wichtig:Bei Artikelnamen mit Leerzeichen als Parameter muss ein _ das Leerzeichen ersetzen, sonst wird der Teil des Namens nach dem Leerzeichen als weiterer Parameter übernommen.
|uncatcat
:Beispiel:
|Alle nicht-kategorisierten Kategorien
::-start:Arkos Schah
|-
:versucht von ''Arkos'' an die Artikel alphabetisch zu berühren, plus zusätzlich den Artikel ''Schah''. Da beide Artikel nicht vorhanden sind passiert einfach nix.
|uncatfiles
:Es funktioniert ebenfalls den Artikelnamen in "Anführungszeichen" zu schreiben.
|Alle nicht-kategorisierten Dateien
*Befehl zum Abbrechen eines MS-Windows-Kommandozeilen-Prozesses: "Strg+C"
|-
*[[:Kategorie:WLH leeren]] - Bot schreiben, der die ganze Sache automatisiert?
|uncattemplates
 
|Alle nicht-kategorisierten Vorlagen
;Wartungsaufgaben
|-
:'''<nowiki>replace.py -page:"Wiki Aventurica:Statistikdaten" -regex "(<!--StipBot-->)" "|-\n|{{subst:CURRENTDAY2}}.{{subst:CURRENTMONTH}}.{{subst:CURRENTYEAR}}\n|{{subst:NUMBEROFARTICLES}}\n|{{subst:NUMBEROFPAGES}}\n|{{subst:NUMBEROFVIEWS}}\n|{{subst:NUMBEROFEDITS}}\n|{{subst:NUMBEROFUSERS}}\n|{{subst:NUMBEROFADMINS}}\n|{{subst:NUMBEROFFILES}}\n\1" -summary:"Aktualisierung"</nowiki>'''
|links:A
:'''weblinkchecker.py -start:!'''
|Alle Seiten, die von der Seite A verlinkt sind
:'''weblinkchecker.py -repeat'''
|-
|imagelinks:A
|Alle Dateien, die von der Seite A  verlinkt sind
|-
|newimages:x
|Die x neuesten Dateien (Standard 100)
|-
|new:x
|Die x neuesten Artikel (Standard 60)
|-
|recentchanges:x
|Die x zuletzt geänderten Seiten (Standard 100)
|-
|ref:A
|Alle Seiten, die auf A verlinken
|-
|start
|Alle Artikel des Wikis
|-
|start:A
|Alle Artikel des Wikis ab dem Eintrag A
|-
|start:Namensraum:!
|Alle Seiten des Wikis im Namensraum
|-
|transcludes:Vorlage:A
|Alle Seiten, die Vorlage A verwenden
|-
|unusedfiles
|Alle nicht verwendeten Dateien
|-
|unwatched
|Alle nicht beobachteten Artikel
|-
|usercontribs:A;x
|x Seiten, die von Benutzer:A geändert wurden (Standard 250)
|-
|weblink:url
|Alle Seiten, die einen Link auf url beinhalten
|-
|redirectonly
|Alle Weiterleitungen des Wikis
|-
|redirectonly:A
|Alle Weiterleitungen des Wikis ab dem Eintrag A
|-
|redirectonly:Namensraum:!
|Alle Weiterleitungen des Namensraums
|-
|page:A
|Nur die Seite A
|}




==touch.py==
{| class="wikitable"
'''touch.py -start:Chrysir'''
|-
:Alle Seiten ab [[Chrysir]] werden berührt
!Auftragsliste
'''touch.py -cat:Kategorie:Meisterinformationen_zu_Abenteuern'''
|-
:Alle Seiten in der [[:Kategorie:Meisterinformationen zu Abenteuern]] werden berührt
|
 
<inputbox>
==redirect.py==
type=comment
'''redirect.py double'''
buttonlabel=Neue Botanfrage stellen
:Doppelte Weiterleitungen werden repariert, mit Änderungsnachfrage.
hidden=yes
'''redirect.py broken'''
break=no
:Redirs auf nicht vorhandene Seiten werden nach Bestätigung gelöscht.
default=Benutzer Diskussion:StipenTreublatt/Bot
 
</inputbox>
==delete.py==
|-
 
!Dieser [[Hilfe:Robots|Bot]]
'''delete.py -links:"Benutzer:StipenTreublatt/Wiki Aventurica/StipBot/Testseite" -always'''
|-
:Alle von [[Benutzer:StipenTreublatt/Wiki Aventurica/StipBot/Testseite]] verlinkten Artikel werden gelöscht, keine Nachfrage
|
 
*[[Benutzer:StipenTreublatt/Bot/Software und Anpassungen|Software und Anpassungen]]
'''delete.py -cat:"Löschen" -always'''
*[[Benutzer:StipenTreublatt/Bot/Testseite|Testseite]]
:Alle Artikel in [[:Kategorie:Löschen]] werden gelöscht, keine Nachfrage
*[[Benutzer:StipenTreublatt/Bot/isbn.py Hilfe|pwb.py isbn Hilfe]]
 
*[[Benutzer:StipenTreublatt/Bot/Regex-Aufrufe|Regex-Aufrufe]]
==template.py==
'''template.py "Navigationsleiste Aventurischer Index" "Nav Aventurischer Index"'''
:Ersetzt eine Vorlage durch eine andere auf allen Seiten, auf denen sie eingebunden ist. Praktisch wenn man Vorlagen umbenennt.
::'''BUG:''' Stellen an denen die Vorlage mittels <nowiki>{{Vorlage:Vorlage}}</nowiki> eingebunden ist werden nicht verändert.
 
'''template.py -category:Soloabenteuer "Infobox Soloabenteuer" "Infobox Soloabenteuer/neues Format"'''
:Ebenfalls eine Vorlagenersetzung, es wird auf allen geänderten Seiten die angegebene Kategorie hinzugefügt. Ungeschickt dass das Kategoriehinzufügen nicht ohne das Ersetzen der Vorlage funktioniert. Daher: [[Benutzer:StipenTreublatt/Wiki Aventurica/StipBot/Kategorie aus Vorlage entfernen|Alternative zum Herausbrechen einer Kategorie aus einer Vorlage]].
 
'''template.py -remove Spoiler'''
:Vorlage wird komplett entfernt. Man kann jedoch keine Kategorie angeben, auf die das Entfernen eingeschränkt bleiben soll. Zweiter Minuspunkt für dieses Skript.
 
'''template.py -xml:WikiAventurica.xml -remove Spoiler'''
:Entfernt die Einbindung der "Vorlage:Spoiler" auf allen im [[Spezial:Exportieren|XML-Dump]] angegebenen Seiten durch ein Leerzeichen. Der Dump muss dabei im Ordner pywikipediabot liegen.
 
'''template.py -subst "Dreispaltig Abschluss"'''
:Fügt ein "subst:" vor die Vorlageneinbindung hinzu.
 
==weblinkchecker.py==
'''<nowiki>weblinkchecker.py -weblink:www.farben-der-tsa.de</nowiki>'''
:Sollte jetzt funktionieren ([[Spezial:Linksearch]] existiert), aber noch nicht getestet.
 
'''weblinkchecker.py -start:!'''
:Lädt alle Wikiseiten und überprüft externe Links. Gefundene deadlinks werden ersteinmal in einer lokalen .dat-Datei gespeichert. Mindestens eine Woche später weiterhin als inaktiv angetroffene Links werden dann in einer Textdatei im Unterordner "deadlinks" gespeichert. Diese ist in Wikisyntax gehalten.
 
'''weblinkchecker.py -repeat'''
:Überprüft alle beim letzten Durchlauf gemeldeten Seiten mit inaktiven externen Links.
 
Interessante Fehler:
<pre>
Exception while processing URL http://www.alveran.org/index.php?id=157&publikationID=43 in page Das Grauen von Ranak
Exception in thread Das Grauen von Ranak - http://www.alveran.org/index.php?id=157&publikationID=43:
Traceback (most recent call last):
  File "F:\Programme\Python25\lib\threading.py", line 460, in __bootstrap
    self.run()
  File "weblinkchecker.py", line 512, in run
    ok, message = linkChecker.check()
  File "weblinkchecker.py", line 443, in check
    msg = error[1]
IndexError: tuple index out of range
</pre>
 
<pre>
Exception in thread Grafschaft Theg├╗n - http://www.veliris.de/schloss/horas/bar
onien/thegun.htm:
Traceback (most recent call last):
  File "F:\Programme\Python25\lib\threading.py", line 460, in __bootstrap
    self.run()
  File "weblinkchecker.py", line 521, in run
    self.history.setLinkDead(self.url, message, self.page)
  File "weblinkchecker.py", line 609, in setLinkDead
    archiveURL = iac.getArchiveURL()
  File "weblinkchecker.py", line 258, in getArchiveURL
    f = urllib2.urlopen(archiveURL)
  File "F:\programme\python25\lib\urllib2.py", line 121, in urlopen
    return _opener.open(url, data)
  File "F:\programme\python25\lib\urllib2.py", line 374, in open
    response = self._open(req, data)
  File "F:\programme\python25\lib\urllib2.py", line 392, in _open
    '_open', req)
  File "F:\programme\python25\lib\urllib2.py", line 353, in _call_chain
    result = func(*args)
  File "F:\programme\python25\lib\urllib2.py", line 1100, in http_open
    return self.do_open(httplib.HTTPConnection, req)
  File "F:\programme\python25\lib\urllib2.py", line 1073, in do_open
    r = h.getresponse()
  File "F:\programme\python25\lib\httplib.py", line 924, in getresponse
    response.begin()
  File "F:\programme\python25\lib\httplib.py", line 385, in begin
    version, status, reason = self._read_status()
  File "F:\programme\python25\lib\httplib.py", line 349, in _read_status
    raise BadStatusLine(line)
BadStatusLine
</pre>
 
==add_text.py==
'''<nowiki>python add_text.py -cat:"Spielerhelden" -text:"{{SC}}" -except:"\{\{([Vv]orlage:|)[Ss]C" -up -summary:"Hinzufügen von [[Vorlage:SC]]"</nowiki>'''
:Fügt in der [[:Kategorie:Spielerhelden]] den Text "<nowiki>{{SC}}</nowiki>" am Anfang der Seite hinzu.
 
==replace.py==
Einige Notizen zur Regex:
{|
|"Suchen"-Regex:
*Folgende Zeichen müssen entwertet werden:
. ^ $ * + ? { } [ ] \ | ( )
*Zeilenumbruch
\r\n
|"Ersetzen"-Regex:
*Folgende Zeichen müssen entwertet werden:
"
*Zeilenumbruch
\n
|}
|}
Einige beispielhafte, einfache Aufrufe (Speziellere auf einer [[Benutzer:StipenTreublatt/Wiki Aventurica/StipBot/Regex-Aufrufe|Unterseite]]):


'''replace.py -page:"Alptraum ohne Ende (Meisterinformationen)" -regex "\{\{Spoiler.*?\}\}" ""'''
;Merkliste
:Ersetzt die Einbindung der "Vorlage:Spoiler" auf "Alptraum ohne Ende (Meisterinformationen)" durch nichts.
*[http://de.wiki-aventurica.de/de/api.php?action=query&meta=siteinfo&siprop=statistics jobs]


'''replace.py -xml:WikiAventurica.xml -regex "\{\{Spoiler.*?\}\}" ""'''
;Wartungsaufgaben
:Ersetzt die Einbindung der "Vorlage:Spoiler" auf allen im [[Spezial:Exportieren|XML-Dump]] angegebenen Seiten durch nichts. Der Dump muss dabei im Ordner pywikipediabot liegen.
:'''pwb.py weblinkchecker -start:!'''
 
:'''pwb.py weblinkchecker -repeat'''
'''replace.py -cat:Herrscherauflistung -regex "\{\{Prettytable\}\}" "class=\"wikitable\""'''
:'''pwb.py weblinkchecker -repeat -day:0'''
:Ersetzt auf allen Seiten der Kategorie:Herrscherauflistung die die Vorlage:Prettytable durch die css-Klasse wikitable.
 
'''replace.py -cat:Gruppenabenteuer -regex "=Abenteuerbeschreibung=\s\s" ""'''
:Entfernt die Zeile "=Abenteuerbeschreibung=" vollständig aus jeder Seite der Kat:Gruppenabenteuer.
 
'''<nowiki>replace.py -ref:"Zyklop (Rasse)" -regex "\[\[Zyklop \(Rasse\)(\]\]|/|#|\|)" "[[Zyklop\1"</nowiki>'''
:Beispielhafter Aufruf für [[:Kategorie:WLH leeren]]. \1 verstehe ich jedoch nicht... bedeutet vielleicht dass das letzte gefundene Zeichen nicht ersetzt wird.
::( und ) bilden eine sogenannte ''konsumierende'' Gruppierung. Im Ersetze-String kann man mit \1, \2 usw. die gruppierten Teile wieder einbauen. Die Numerierung beginnt bei der am weitesten links stehenden sich öffenden Klammer. Du hast aber richtig geraten. Ich gruppiere etwas und füge es an gleicher Stelle wieder ein. Dadurch wird es nicht ersetzt. Aber mit der Angabe im Suchestring verhindere ich Treffer bei Begriffen die noch weitergehen. --[[Benutzer:Falk Steinhauer|Falk Steinhauer]] 23:04, 11. Nov. 2008 (CET)
 
'''replace.py -catr:Spielwelt -regex " usw\.=" "="'''
:Entfernt "usw." aus allen Überschriften auf allen Seiten in allen Unterkategorien von Kat:Spielwelt.
 
'''<nowiki>replace.py -cat:Gruppenabenteuer -regex "<!-- Diese Seiteninformationen wurden vom AbListe2Mediawiki-Makro V0\.\d\d erstellt -->\s\s" ""</nowiki>'''
:Entfernt den Kommentar mit allen aufgetretenen Versionsnummern.
 
'''<nowiki>replace.py -catr:Index -regex "( |')(?P<Zahl>\d|\d\d|)0( ff|ff| ff\.|ff\.)( |\s|'|,|;)" "\1\g<Zahl>0-\g<Zahl>2\4" "( |')(?P<Zahl>\d|\d\d|)1( ff|ff| ff.|ff.)( |\s|'|,|;)" "\1\g<Zahl>1-\g<Zahl>3\4"</nowiki>'''
 
'''<nowiki>replace.py -catr:Regelindex -regex "( |')(?P<Zahl>\d|\d\d|)0( f|f| f\.|f\.)( |\s|'|,|;)" "\1\g<Zahl>0-\g<Zahl>1\4" "( |')(?P<Zahl>\d|\d\d|)2( f|f| f\.|f\.)( |\s|'|,|;)" "\1\g<Zahl>2-\g<Zahl>3\4"</nowiki>'''
:Zwei Aufrufe, die Seitenangaben mit ff oder f durch eine entsprechden Zahlenangabe ersetzen. Eine vollständige Liste zum Erwischen aller solcher Angaben findet sich in der [http://www.wiki-aventurica.de/index.php?title=Benutzer:StipenTreublatt/Wiki_Aventurica/StipBot&oldid=359761 Versionsgeschichte].
 
'''<nowiki>replace.py -cat:Roman -regex "\|(Nr|Seitenzahl|Autoren|Cover|Zeit|Ort|Erscheinungsdatum|Preis|ISBN|Direktlinks)=-\r\n" "|\1=\n"</nowiki>'''
:Entfernt die - aus den Infoboxeinträgen der Romane, da diese die dpl-Listen stören.
 
'''<nowiki>replace.py -ref:"Benutzer:Geran Bot" -namespace:1 -regex "===LinkCheck-Ergebnis===" "===LinkCheck-Ergebnis===\n[[Kategorie:Stips Kat]]"</nowiki>'''
:Fügt bei auf allen Diskussionseiten, bei denen Geran Bot defekte Links gemeldet hat, [[:Kategorie:Stips Kat]] hinzu.
 
'''<nowiki>replace.py "-links:Benutzer:StipenTreublatt/Wiki Aventurica/StipBot/Testseite" -regex "\[\[" "In dieser Kategorie finden sich Personen mit der [[Profession]] [[{{subst:PAGENAME}}]].\n[["</nowiki>'''
:Fügt auf allen von [[Benutzer:StipenTreublatt/Wiki Aventurica/StipBot/Testseite]] verlinkten Seiten den genannten Ausdruck hinzu. Habe ich dazu benutzt, den Bot Kategoriebeschreibungen ändern zu lassen. Liste wurde vorher mit category.py listify erstellt.


==Allgemeine Hinweise==
*Verwendet man in der <code>-summary:</code> die Buchstabenkombination "log" (bspw als <code>-summary:karlis blog ist entschwunden</code>), wirft das Script eine Fehlermeldung aus - anscheinend darf in der summary nicht "log" stehen. {{rolleyes}}
*Zugriff auf alle Weiterleitungen jetzt nur noch über <code>-logevents:move</code>, <code>-redirectsonly</code> war wohl zu praktisch, das musste komplizierter werden; zudem geht der Bot dann ''tatsächlich'' nur das Verschiebelogbuch durch, anstatt einfach alle vorhandenen Redirs abzuklappern {{rolleyes}} *Kopf->Wand*
*[https://doc.wikimedia.org/pywikibot/stable/_modules/pywikibot/pagegenerators.html aktuelle Dokumentation der Optionen]
----
----
<small style="color:red;">you are a worm through time


'''replace.py -xml:WikiAventurica.xml -regex "align=.*?right.*?.*?\{\{Prettytable\}\}\s\s!bgcolor=#ffff80\|Name\s\s!bgcolor=#ffff80\|Titel\s\s!bgcolor=#ffff80\|von\s\s!bgcolor=#ffff80\|bis\s\s" "class=\"wikitable\" align=\"right\"\n|-class=\"vordergrund\"\n!Name!!Titel!!von!!bis\n"'''
the thunder song distorts you</small>
:Funktioniert unerklärlicherweise nicht.
 
==category.py==
''For the actions '''tidy''' and '''tree''', the bot will store the category structure locally in category.dump. This saves time and server load, but if it uses these data later, they may be outdated; use the '''-rebuild''' parameter in this case.''
:Anscheinend benutzt das Script auch bei anderen Befehlen den dump. Ab und zu '''-rebuild''' scheint angebracht.
 
'''category.py tidy'''
:''Which category do you want to tidy up?'' '''Regelindex'''
::Script bietet lädt nacheinander alle Seiten aus der Kategorie und bietet Auswahlmöglichkeiten zum Verändern der Kategorie.
 
'''category.py move -from:"Index einer Publikation" -to:"Offizieller Index"'''
:Script schiebt alle Artikel von einer Kategorie in eine andere. Praktisch wenn man Kategorien umbenennt.
 
'''category.py listify -from:"Programmieren" -to:"Benutzer:StipenTreublatt/Wiki Aventurica/StipBot/Testseite"'''
:Erstellt eine Liste der Artikel und Kategorien in ''Kategorie:Programmieren'', die auf der ''Testseite'' gespeichert wird. Falls Seite schon vorhanden ist wird der Prozess abgebrochen.
 
'''category.py listify -overwrite -from:"Hörbuch" -to:"Benutzer:StipenTreublatt/Wiki Aventurica/StipBot/Testseite"'''
:Dasselbe, Liste wird allerdings ersetzt falls schon vorhanden.
 
'''category.py add'''
:''Links from which page should be processed?'' '''Benutzer:StipenTreublatt/Wiki Aventurica/StipBot/Testseite'''
:''Category to add (do not give namespace):'' '''Datei'''
::Von der angegebenen Seite werden alle Links gelesen. Man bekommt dann für jeden Artikel die Entscheidungsmöglichkeit, die angegebene Kategorie hinzuzufügen.
 
'''category.py remove -from:"Soloabenteuer"
:Entfernt die Kategorie aus allen Seiten in der Kategorie.
:Nach Entfernen versucht sich das Script mit einem Sysop-account einzuloggen und fragt dann ob die Kategorie gelöscht werden soll.
 
'''category.py tree'''
:''For which category do you want to create a tree view?'' '''Inoffiziell'''
:''Please enter the name of the file where the tree should be saved, or press enter to simply show the tree:'' '''tree.txt'''
::Erstellt eine Baumansicht der gewählten Kategorie, wahlweise per Bildschirmausgabe oder als Ausdruck in eine Datei.
::#Dateiausdruck funktioniert (mit [[Benutzer:StipenTreublatt/Wiki Aventurica/StipBot/tree.txt|tree.txt]] getestet, es wird ohne Nachfrage im Ordner ''pywikipediabot'' gespeichert)
::#Bildschirmausdruck funktioniert leider nicht
<pre>
Saving results in F:\Programme\Python25\pywikipediabot
Dumping to category.dump.bz2, please wait...
Traceback (most recent call last):
  File "F:\Programme\Python25\pywikipediabot\category.py", line 901, in <module>
 
    bot.run()
  File "F:\Programme\Python25\pywikipediabot\category.py", line 794, in run
    f = codecs.open(self.filename, 'a', 'utf-8')
  File "F:\Programme\Python25\lib\codecs.py", line 817, in open
    file = __builtin__.open(filename, mode, buffering)
IOError: [Errno 13] Permission denied: 'F:\\Programme\\Python25\\pywikipediabot'
</pre>
:Der Fehler ist seit r5551 behoben (siehe [http://sourceforge.net/tracker/index.php?func=detail&aid=1915362&group_id=93107&atid=603138]) --[[Benutzer:Falk Steinhauer|Falk Steinhauer]] 22:28, 11. Nov. 2008 (CET)
 
==[[Benutzer:FalkBot/CalculateAverage.py]]==
'''CalculateAverage.py "-cat:Aventurischer Bote"'''
:Rechnet den Durchschnitt aller Bewertungsboxen in der [[:Kategorie:Aventurischer Bote]] aus.
 
==[[Benutzer:FalkBot/SetSortKeys.py]]==
'''SetSortKeys.py -start:!'''
:Setzt bei allen Artikeln des Wikis die Kategoriensortierung bei Artikeln mit Umlauten richtig.


[[Kategorie:RoboterSkriptDokumentation]]
[[Kategorie:RoboterSkriptDokumentation]]

Aktuelle Version vom 26. Februar 2023, 19:29 Uhr

Fehler beim Erstellen des Vorschaubildes: Die Miniaturansicht konnte nicht am vorgesehenen Ort gespeichert werden
Archiv
Was kann man ändern?
Mit pwb.py replace kann man so ziemlich alles machen (Beispiele), man muss es jedoch selbst programmieren; für häufige Aufgaben gibt es daher Skripte, die das komfortabler erledigen.
pwb.py category move -from:"A" -to:"B" Verschiebe Kategorie A samt Inhalt nach Kategorie B
pwb.py category remove -from:"A" Kategorie A wird geleert und gelöscht
pwb.py add_text -cat:"A" -text:"B" -except:"C" -up Fügt am Anfang aller Seiten der Kategorie A den Text B hinzu, außer auf der Seite steht C
pwb.py template "A" "B" Vorlage A wird durch Vorlage B ersetzt
pwb.py template -remove "A" Vorlage A wird entfernt
pwb.py redirect double Doppelte Weiterleitungen werden repariert, mit Änderungsnachfrage.
pwb.py redirect broken Weiterleitungen auf nicht vorhandene Seiten werden nach Bestätigung gelöscht.
Wie kann man zu bearbeitende Artikelgruppen auswählen?
cat:A Alle Artikel der Kategorie A
catr:A wie cat, zusätzlich alle Artikel aller enthaltenen Unterkategorien
subcats:A Alle Unterkategorieseiten der Kategorie A
subcatsr:A wie subcats, zusätzlich alle Unterkategorien der Unterkategorien
uncat Alle nicht-kategorisierten Artikel
uncatcat Alle nicht-kategorisierten Kategorien
uncatfiles Alle nicht-kategorisierten Dateien
uncattemplates Alle nicht-kategorisierten Vorlagen
links:A Alle Seiten, die von der Seite A verlinkt sind
imagelinks:A Alle Dateien, die von der Seite A verlinkt sind
newimages:x Die x neuesten Dateien (Standard 100)
new:x Die x neuesten Artikel (Standard 60)
recentchanges:x Die x zuletzt geänderten Seiten (Standard 100)
ref:A Alle Seiten, die auf A verlinken
start Alle Artikel des Wikis
start:A Alle Artikel des Wikis ab dem Eintrag A
start:Namensraum:! Alle Seiten des Wikis im Namensraum
transcludes:Vorlage:A Alle Seiten, die Vorlage A verwenden
unusedfiles Alle nicht verwendeten Dateien
unwatched Alle nicht beobachteten Artikel
usercontribs:A;x x Seiten, die von Benutzer:A geändert wurden (Standard 250)
weblink:url Alle Seiten, die einen Link auf url beinhalten
redirectonly Alle Weiterleitungen des Wikis
redirectonly:A Alle Weiterleitungen des Wikis ab dem Eintrag A
redirectonly:Namensraum:! Alle Weiterleitungen des Namensraums
page:A Nur die Seite A


Auftragsliste
Dieser Bot
Merkliste
Wartungsaufgaben
pwb.py weblinkchecker -start:!
pwb.py weblinkchecker -repeat
pwb.py weblinkchecker -repeat -day:0

Allgemeine Hinweise[Bearbeiten | Quelltext bearbeiten]


you are a worm through time

the thunder song distorts you