WikiRobots/de: Difference between revisions
(Created page with "Es gibt einen weiteren sehr hilfreichen Parameter, der für alle diese Skripte gültig ist, genannt "-simulate", der es dir erlaubt, Befehle auszuprobieren, ohne das Wiki zu v...") |
No edit summary Tag: Manual revert |
||
(25 intermediate revisions by 2 users not shown) | |||
Line 2: | Line 2: | ||
{{VeryImportantMessage|Roboter sind von Natur aus gefährlich, da sie automatisch viel Schaden anrichten können. Verwende sie mit äußerster Vorsicht!}} |
{{VeryImportantMessage|Roboter sind von Natur aus gefährlich, da sie automatisch viel Schaden anrichten können. Verwende sie mit äußerster Vorsicht!}} |
||
<span id="Overview"></span> |
|||
==Übersicht== |
==Übersicht== |
||
Wiederkehrende Aufgaben können mit Hilfe von Robotern |
Wiederkehrende Aufgaben können mit Hilfe von Robotern bzw. Bots automatisiert werden, d.h. mit Softwareprogrammen, die das Wiki eigenständig arbeiten. |
||
Die natürlichen und am häufigsten verwendeten Roboter für Wiki |
Die natürlichen und am häufigsten verwendeten Roboter für Wiki-Seiten werden von MediaWiki unter dem Paketnamen Pywikibot zur Verfügung gestellt. Siehe [http://www.mediawiki.org/wiki/Manual:Pywikibot/de Handbuch:Pywikibot] für die vollständigen Informationen. |
||
Kurz gesagt, Pywikibot ist eine Sammlung von Python |
Kurz gesagt, Pywikibot ist eine Sammlung von Python-Skripten, die die native Wiki-API verwenden können, um auf Wiki-Seiten zu agieren. Um die API-Liste für das FreeCAD-Wiki zu sehen, besuche http://www.freecadweb.org/wiki/api.php |
||
Um Pywikibot verwenden zu können, musst du dies tun: |
Um Pywikibot verwenden zu können, musst du dies tun: |
||
# |
# Das Pywikibot-Paket installieren |
||
# |
# Pywikibot so konfigurieren, dass er im FreeCAD-Wiki funktioniert |
||
# |
# Die Skripte starten, die für die anstehende Aufgabe benötigt werden. |
||
Es gibt eine Fülle von Informationen über die Installation, Konfiguration und Benutzung von Pywikibot. Bitte beachte jedoch, dass diese Informationen zwar nützlich, aber auch irreführend sein können, da sie Anweisungen vermischen, die sich auf zwei verschiedene Pywikibot |
Es gibt eine Fülle von Informationen über die Installation, Konfiguration und Benutzung von Pywikibot. Bitte beachte jedoch, dass diese Informationen zwar nützlich, aber auch irreführend sein können, da sie Anweisungen vermischen, die sich auf zwei verschiedene Pywikibot-Codebasen und verschiedene Versionen der Pywikibot-Skriptsammlung beziehen. |
||
Im Folgenden findest du die grundlegenden Anweisungen zum Einrichten und Verwenden von Pywikibot im FreeCAD |
Im Folgenden findest du die grundlegenden Anweisungen zum Einrichten und Verwenden von Pywikibot im FreeCAD-Wiki. Damit kannst du die gängigsten Aufgaben durchführen. Für fortgeschrittene Nutzung siehe [http://www.mediawiki.org/wiki/Manual:Pywikibot Handbuch:Pywikibot] und den Python-Quellcode. |
||
== |
==Installation== |
||
Gehe zu http://tools.wmflabs.org/pywikibot/ und lade {{FileName|package/pywikipedia/core.zip}} herunter (das Projekt steht auch unter github, gerrit, usw., aber dies ist ein einfacher Weg, um ein vollständig in sich geschlossenes Paket zu erhalten). |
Gehe zu http://tools.wmflabs.org/pywikibot/ und lade {{FileName|package/pywikipedia/core.zip}} herunter (das Projekt steht auch unter github, gerrit, usw., aber dies ist ein einfacher Weg, um ein vollständig in sich geschlossenes Paket zu erhalten). |
||
Line 26: | Line 27: | ||
Entpacke den Inhalt in deinem bevorzugten Verzeichnis. |
Entpacke den Inhalt in deinem bevorzugten Verzeichnis. |
||
Wenn du die Bibliotheken nicht in deine Python |
Wenn du die Bibliotheken nicht in deine Python-Bibliotheken installieren willst, bist du fertig (wenn du sie immer noch installieren willst, überprüfe die Datei {{FileName|INSTALL}} im Basisverzeichnis). |
||
Pywikibot funktioniert mit Python 2.6 und 2.7 ohne Probleme. Python 3 <s>wurde bisher nicht mit FreeCAD |
Pywikibot funktioniert mit Python 2.6 und 2.7 ohne Probleme. Python 3 <s>wurde bisher nicht mit FreeCAD-wiki getestet</s> funktioniert ebenfalls. |
||
<span id="Configuration"></span> |
|||
==Konfiguration== |
==Konfiguration== |
||
Du musst den folgenden Python |
Du musst den folgenden Python-Code als Datei mit dem Namen {{FileName|user-config.py}} in dem Basisverzeichnis speichern, in das du entpackt hast {{FileName|package/pywikipedia/core.zip}} (zur Verdeutlichung: im gleichen Verzeichnis, in dem sich bereits eine Datei namens {{FileName|user-config.py.sample}} befindet). |
||
{{Code|code= |
{{Code|code= |
||
Line 45: | Line 47: | ||
Im obigen Code: |
Im obigen Code: |
||
* |
* ''<<yourWikiUserName>>'' durch deinen Wiki-Benutzernamen ersetzen. |
||
* |
* ''cp437'' durch dein ''console_encoding'' ersetzen. Um dein "console encoding" unter Windows bzw. Linux herauszufinden, starte den Python-Interpreter und gib {{SystemInput|import sys}} gefolgt von {{SystemInput|print sys.stdout.encoding}} ein. Python wird dein {{SystemOutput|console_encoding}} auf dem Bildschirm anzeigen. |
||
Line 91: | Line 93: | ||
}} |
}} |
||
<span id="Usage"></span> |
|||
==Anwendung== |
==Anwendung== |
||
Line 105: | Line 108: | ||
{{SystemInput|python pwb.py replace.py -help}} |
{{SystemInput|python pwb.py replace.py -help}} |
||
Es gibt einen weiteren sehr hilfreichen Parameter, der für alle diese Skripte gültig ist, genannt "-simulate", der es |
Es gibt einen weiteren sehr hilfreichen Parameter, der für alle diese Skripte gültig ist, genannt "-simulate", der es ermöglicht, Befehle auszuprobieren, ohne das Wiki zu verändern. Benutze ihn, bevor du 'live' gehst. |
||
<span id="Examples"></span> |
|||
==Beispiele== |
==Beispiele== |
||
Line 119: | Line 123: | ||
Dieser Befehl ersetzt alle Verweise auf das alte SourceForge |
Dieser Befehl ersetzt alle Verweise auf das alte SourceForge-Forum durch einen Verweis auf das neue, auf freecad.org bereitgestellte Forum |
||
{{SystemInput|pwb.py replace.py -weblink:sourceforge.net/apps/phpbb/free-cad "sourceforge.net/apps/phpbb/free-cad" "forum. |
{{SystemInput|pwb.py replace.py -weblink:sourceforge.net/apps/phpbb/free-cad "sourceforge.net/apps/phpbb/free-cad" "forum.freecad.org"}} |
||
Line 129: | Line 133: | ||
Dieser Befehl ersetzt alle sicheren Verweise auf das alte SourceForge |
Dieser Befehl ersetzt alle sicheren Verweise auf das alte SourceForge-Forum durch einen Verweis auf das neue, auf freecadweb.org bereitgestellte Forum auf den übersetzten Seiten. |
||
{{SystemInput|pwb.py replace.py -start:Translations:! "https://sourceforge.net/apps/phpbb/free-cad" "http://forum. |
{{SystemInput|pwb.py replace.py -start:Translations:! "https://sourceforge.net/apps/phpbb/free-cad" "http://forum.freecad.org"}} |
||
==Befehle mit Bezug zum FreeCAD-Wiki== |
|||
== FreeCAD Wiki Verwandte Befehle == |
|||
Zählt alle Seiten, in denen eine bestimmte Wiki |
Zählt alle Seiten, in denen eine bestimmte Wiki-Vorlage verwendet wird |
||
{{SystemInput|python3 pwb.py templatecount -count GuiCommand}} |
{{SystemInput|python3 pwb.py templatecount -count GuiCommand}} |
||
Listet alle Seiten auf, in denen eine bestimmte Wiki-Vorlage verwendet wird |
|||
{{SystemInput|python3 pwb.py templatecount -list GuiCommand}} |
{{SystemInput|python3 pwb.py templatecount -list GuiCommand}} |
||
Ersetzt eine Zeichenfolge auf allen Seiten, die in der Kategorie Arch aufgeführt sind (auch [[Category:Arch]] genannt) |
|||
{{SystemInput|python3 pwb.py replace.py -cat:Arch}} |
{{SystemInput|python3 pwb.py replace.py -cat:Arch}} |
Latest revision as of 10:36, 23 April 2024
Übersicht
Wiederkehrende Aufgaben können mit Hilfe von Robotern bzw. Bots automatisiert werden, d.h. mit Softwareprogrammen, die das Wiki eigenständig arbeiten.
Die natürlichen und am häufigsten verwendeten Roboter für Wiki-Seiten werden von MediaWiki unter dem Paketnamen Pywikibot zur Verfügung gestellt. Siehe Handbuch:Pywikibot für die vollständigen Informationen.
Kurz gesagt, Pywikibot ist eine Sammlung von Python-Skripten, die die native Wiki-API verwenden können, um auf Wiki-Seiten zu agieren. Um die API-Liste für das FreeCAD-Wiki zu sehen, besuche http://www.freecadweb.org/wiki/api.php
Um Pywikibot verwenden zu können, musst du dies tun:
- Das Pywikibot-Paket installieren
- Pywikibot so konfigurieren, dass er im FreeCAD-Wiki funktioniert
- Die Skripte starten, die für die anstehende Aufgabe benötigt werden.
Es gibt eine Fülle von Informationen über die Installation, Konfiguration und Benutzung von Pywikibot. Bitte beachte jedoch, dass diese Informationen zwar nützlich, aber auch irreführend sein können, da sie Anweisungen vermischen, die sich auf zwei verschiedene Pywikibot-Codebasen und verschiedene Versionen der Pywikibot-Skriptsammlung beziehen.
Im Folgenden findest du die grundlegenden Anweisungen zum Einrichten und Verwenden von Pywikibot im FreeCAD-Wiki. Damit kannst du die gängigsten Aufgaben durchführen. Für fortgeschrittene Nutzung siehe Handbuch:Pywikibot und den Python-Quellcode.
Installation
Gehe zu http://tools.wmflabs.org/pywikibot/ und lade package/pywikipedia/core.zip herunter (das Projekt steht auch unter github, gerrit, usw., aber dies ist ein einfacher Weg, um ein vollständig in sich geschlossenes Paket zu erhalten).
Entpacke den Inhalt in deinem bevorzugten Verzeichnis.
Wenn du die Bibliotheken nicht in deine Python-Bibliotheken installieren willst, bist du fertig (wenn du sie immer noch installieren willst, überprüfe die Datei INSTALL im Basisverzeichnis).
Pywikibot funktioniert mit Python 2.6 und 2.7 ohne Probleme. Python 3 wurde bisher nicht mit FreeCAD-wiki getestet funktioniert ebenfalls.
Konfiguration
Du musst den folgenden Python-Code als Datei mit dem Namen user-config.py in dem Basisverzeichnis speichern, in das du entpackt hast package/pywikipedia/core.zip (zur Verdeutlichung: im gleichen Verzeichnis, in dem sich bereits eine Datei namens user-config.py.sample befindet).
# -*- coding: cp437 -*-
family = 'freecadwiki'
mylang = 'en'
usernames['freecadwiki']['en'] = u'<<yourWikiUserName>>'
#usernames['freecadwiki']['freecadwiki'] = u'<<yourWikiUserName>>'
console_encoding = 'cp437'
Im obigen Code:
- <<yourWikiUserName>> durch deinen Wiki-Benutzernamen ersetzen.
- cp437 durch dein console_encoding ersetzen. Um dein "console encoding" unter Windows bzw. Linux herauszufinden, starte den Python-Interpreter und gib import sys gefolgt von print sys.stdout.encoding ein. Python wird dein console_encoding auf dem Bildschirm anzeigen.
Dann musst du den folgenden Python-Code in einer Datei unter dem Namen freecadwiki_family.py im Unterverzeichnis /pywikibot/families (zusammen mit den anderen family_xxx.py Dateien) speichern.
# -*- coding: utf-8 -*-
__version__ = '$Id: 7f3891c3bbbfbd69c0b005de953514803d783d92 $'
from pywikibot import family
# The MediaWiki family
# user-config.py: usernames['mediawiki']['mediawiki'] = 'User name'
class Family(family.WikimediaFamily):
def __init__(self):
super(Family, self).__init__()
self.name = 'freecadwiki'
self.langs = {
'en': 'www.freecadweb.org',
}
def scriptpath(self, code):
return 'wiki'
def path(self, code):
return '/index.php' #The path of index.php, look at your wiki address.
def apipath(self, code):
return '/api.php' #The path of api.php
def version(self, code):
# Replace with the actual version being run on your wiki
return '1.20.3'
def protocol(self, code):
"""
Can be overridden to return 'https'. Other protocols are not supported.
"""
return 'http'
#return 'https' # My server uses https
Anwendung
Du kannst nun die Pywikibot-Skripte ausführen. Die Skripte selbst sind im /scripts-Unterverzeichnis enthalten.
Um die Skripte auszuführen, öffne eine Shell und gehe zum Basisverzeichnis (der Installation, NICHT des /scipts-Unterverzeichnisses) und gib ein
python pwb.py <<scriptname>>.py -<<parameter>>
wo du natürlich "<<scriptname>>" durch den Namen des Skripts ersetzt, das du ausführen willst und "<<parameter>" durch den/die erforderlichen Parameter für das Skript.
Für eine Beschreibung von Anwendung und Parametern für ein beliebiges Skript benutze einfach den Parameter "-help". Um bspw. eine Beschreibung für das replace.py-Skript zu erhalten, tippe
python pwb.py replace.py -help
Es gibt einen weiteren sehr hilfreichen Parameter, der für alle diese Skripte gültig ist, genannt "-simulate", der es ermöglicht, Befehle auszuprobieren, ohne das Wiki zu verändern. Benutze ihn, bevor du 'live' gehst.
Beispiele
Dieser Befehl loggt sich in das Wiki ein
pwb.py login.py
Dieser Befehl druckt eine Liste aller Seiten, die einen Verweis auf SourceForge enthalten
pwb.py listpages.py -weblink:sourceforge.net
Dieser Befehl ersetzt alle Verweise auf das alte SourceForge-Forum durch einen Verweis auf das neue, auf freecad.org bereitgestellte Forum
pwb.py replace.py -weblink:sourceforge.net/apps/phpbb/free-cad "sourceforge.net/apps/phpbb/free-cad" "forum.freecad.org"
Dieser Befehl druckt eine Liste aller Seiten, die das Wort "PartDesign" enthalten, beginnend mit der Seite "2d Drafting Module" und weiter alphabetisch geordnet
pwb.py listpages.py -start:"2d Drafting Module" -grep:PartDesign
Dieser Befehl ersetzt alle sicheren Verweise auf das alte SourceForge-Forum durch einen Verweis auf das neue, auf freecadweb.org bereitgestellte Forum auf den übersetzten Seiten.
pwb.py replace.py -start:Translations:! "https://sourceforge.net/apps/phpbb/free-cad" "http://forum.freecad.org"
Befehle mit Bezug zum FreeCAD-Wiki
Zählt alle Seiten, in denen eine bestimmte Wiki-Vorlage verwendet wird
python3 pwb.py templatecount -count GuiCommand
Listet alle Seiten auf, in denen eine bestimmte Wiki-Vorlage verwendet wird
python3 pwb.py templatecount -list GuiCommand
Ersetzt eine Zeichenfolge auf allen Seiten, die in der Kategorie Arch aufgeführt sind (auch genannt)
python3 pwb.py replace.py -cat:Arch