WikiRobots/de: Difference between revisions

From FreeCAD Documentation
(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 oder Bots automatisiert werden, d.h. mit Softwareprogrammen, die selbstständig auf dem Wiki arbeiten.
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 [http://www.mediawiki.org/wiki/Manual:Pywikibot Handbuch:Pywikibot] für die vollständigen Informationen.
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 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
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:


# installiere das Pywikibot Paket
# Das Pywikibot-Paket installieren
# konfiguriere Pywikibot so, dass es im FreeCAD Wiki funktioniert
# Pywikibot so konfigurieren, dass er im FreeCAD-Wiki funktioniert
# starte die Skripte, die du für die anstehende Aufgabe benötigst
# 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.
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 findest du das [http://www.mediawiki.org/wiki/Manual:Pywikibot Handbuch:Pywikibot] und den Python Quellcode.
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.


==Einrichtung==
==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 Bibliotheken installieren willst, bist du fertig (wenn du sie immer noch installieren willst, überprüfe die Datei {{FileName|INSTALL}} im Basisverzeichnis).
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 wiki</s> getestet und funktioniert ebenfalls.
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 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).
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:


* ersetze ''<<yourWikiUserName>>'' durch deinen Wiki-Benutzernamen
* ''<<yourWikiUserName>>'' durch deinen Wiki-Benutzernamen ersetzen.
* ersetze ''cp437'' durch dein ''console_encoding''. 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.
* ''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 dir erlaubt, Befehle auszuprobieren, ohne das Wiki zu verändern. Benutze ihn, bevor du 'live' gehst.
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 Forum durch einen Verweis auf das neue freecadweb.org bereitgestellte Forum
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.freecadweb.org"}}
{{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 Forum durch einen Verweis auf das neue freecadweb.org bereitgestellte Forum auf den übersetzten Seiten.
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.freecadweb.org"}}
{{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 Vorlage verwendet wird
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}}




Alle Seiten auflisten, in denen eine bestimmte Wiki Vorlage verwendet wird
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}}


Ersetze eine Zeichenfolge in allen Seiten, die in der Kategorie Arch aufgeführt sind (a/k/a [[Category:Arch]])
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

Roboter sind von Natur aus gefährlich, da sie automatisch viel Schaden anrichten können. Verwende sie mit äußerster Vorsicht!

Ü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:

  1. Das Pywikibot-Paket installieren
  2. Pywikibot so konfigurieren, dass er im FreeCAD-Wiki funktioniert
  3. 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