Handbuch:Pywikibot/revertbot.py
| Das Wikimedia-Git-Repositorium enthält diese Datei: scripts/revertbot.py |
| Pywikibot-Skripte |
|---|
|
revertbot.py ist ein Pywikibot-Skript, das verwendet wird, um bestimmte Bearbeitungen zurückzusetzen.
Das Skript hilft dir aufzuräumen, falls dein Bot unerwünschte Aktionen ausführt. Es durchläuft die Liste der Beiträge deines Bots, vom neuesten zum ältesten, und setzt die letzte Änderung, die dein Bot auf jeder Seite vorgenommen hat, zurück – vorausgesetzt natürlich, dein Bot hat die letzte Änderung auf der jeweiligen Seite vorgenommen.
Es wird daher am effektivsten unmittelbar eingesetzt, nachdem du bemerkt hast, dass dein Bot vom Kurs abgekommen ist.
Verwendung
Es wird durch Eingabe von python pwb.py revertbot aufgerufen.
Es sollte keinesfalls unbeaufsichtigt ausgeführt werden, da es keine Erlaubnis zum Vornehmen von Änderungen anfordert. Im Standardmodus – der nicht geändert werden kann – werden Änderungen automatisch vorgenommen.
Die folgenden Parameter für die Befehlszeile werden unterstützt:
| Parameter | Beschreibung |
|---|---|
-username |
Benutzer, dessen Bearbeitungen zurückgesetzt werden müssen. Standard ist der Benutzername des Bots (site.username()). |
-rollback |
Bearbeitungen werden zurückgesetzt, anstatt sie zu revertieren. Beachte, dass beim Zurücksetzen keine Versionsunterschiede angezeigt werden. |
-limit:num |
Verwendet die letzten num Beiträge, deren Zurücksetzung geprüft werden soll. Standard ist 500. |
Benutzer, die das Verhalten anpassen möchten, sollten die Klasse BaseRevertBot erweitern und deren Methode callback überschreiben. Hier ist ein Beispiel:
class myRevertBot(BaseRevertBot):
'''Example revert bot.'''
def callback(self, item):
'''Sample callback function for 'private' revert bot.
@param item: an item from user contributions
@type item: dict
@rtype: bool
'''
if 'top' in item:
page = pywikibot.Page(self.site, item['title'])
text = page.get(get_redirect=True)
pattern = re.compile(r'\[\[.+?:.+?\..+?\]\]', re.UNICODE)
return bool(pattern.search(text))
return False
Globale Argumente verfügbar
Diese Optionen werden die Konfiguration in den user-config.py-Einstellungen überschreiben.
| Parameter | Beschreibung | Konfigurationsvariable |
|---|---|---|
-dir:PFAD |
Liest die Konfigurationsdaten des Bots aus dem durch PFAD angegebenen Verzeichnis, anstatt aus dem Standardverzeichnis. | |
-config:Datei |
Der Dateiname der Benutzerkonfiguration. Default is user-config.py. | user-config.py |
-lang:xx |
Legt die Sprache des Wikis fest, in dem du arbeiten möchtest, und überschreibt damit die Konfiguration in user-config.py. xx sollte der Sprachcode sein. | mylang |
-family:xyz |
Legt die Familie des Wikis fest, in dem du arbeiten möchtest, z. B. wikipedia, wiktionary, wikitravel, ... Dies überschreibt die Konfiguration in user-config.py. | family |
-user:xyz |
Melde als Benutzer 'xyz' an anstatt des Standardbenutzernamens. | usernames |
-daemonize:xyz |
Gibt die Kontrolle umgehend an das Terminal zurück und leitet stdout und stderr zur Datei xyz um. (Nur für Bots verwenden, die keine Eingabe von stdin benötigen). | |
-help |
Zeige den Hilfetext. | |
-log |
Aktiviert die Protokolldatei mit dem Standarddateiname 'script_name-bot.log'. Die Protokolle werden im Unterverzeichnis logs gespeichert. | log |
-log:xyz |
Aktiviert die Protokolldatei mit 'xyz' als Dateinamen. | logfilename |
-nolog |
Deaktiviert die Protokolldatei (falls diese standardmäßig aktiviert ist). | |
-maxlag |
Legt einen neuen maxlag-Parameter mit einer Anzahl von Sekunden fest. Verzögert Bot-Bearbeitungen bei Verzögerungen der Datenbank-Server. Der Standard wird in config.py festgelegt. | maxlag |
-putthrottle:n-pt:n-put_throttle:n |
Legt die Mindestzeit (in Sekunden) fest, die der Bot zwischen dem Speichern von Seiten wartet. | put_throttle |
-debug:item-debug |
Aktiviert die Protokolldatei und fügt umfangreiche Debugging-Daten für die Komponente "item" hinzu (für alle Komponenten, wenn die zweite Form verwendet wird). | debug_log |
-verbose-v |
Lässt den Bot zusätzliche Konsolenausgaben bereitstellen, die beim Debuggen hilfreich sein könnten. | verbose_output |
-cosmeticchanges-cc |
Stellt die in config.py oder user-config.py vorgenommene Einstellung cosmetic_changes auf ihr Gegenteil um und überschreibt sie. Alle anderen Einstellungen und Einschränkungen bleiben unverändert. | cosmetic_changes |
-simulate |
Deaktiviert das Schreiben auf den Server. Hilfreich beim Testen und Debuggen von neuem Code (falls angegeben, werden keine tatsächlichen Änderungen vorgenommen, sondern nur angezeigt, was geändert worden wäre). | simulate |
-<Konfigurationsvariable>:n |
Du kannst alle angegebenen numerischen Konfigurationsvariablen als Optionen verwenden und diese über die Befehlszeile modifizieren. |