WikiRobots/pl: Difference between revisions

From FreeCAD Documentation
(Created page with "Musisz zapisać poniższy kod Pythona jako plik o nazwie {{FileName|user-config.py}} w katalogu bazowym, w którym rozpakowałeś {{FileName|package/pywikipedia/core.zip}} ''(...")
No edit summary
 
(24 intermediate revisions by 2 users not shown)
Line 2: Line 2:
{{VeryImportantMessage|Roboty są z natury niebezpieczne, ponieważ mogą automatycznie wyrządzić wiele szkód. Używaj ich z najwyższą ostrożnością!}}
{{VeryImportantMessage|Roboty są z natury niebezpieczne, ponieważ mogą automatycznie wyrządzić wiele szkód. Używaj ich z najwyższą ostrożnością!}}


<span id="Overview"></span>
==Informacje ogólne==
==Informacje ogólne==


Line 20: Line 21:
Poniżej znajdziesz podstawowe instrukcje, jak skonfigurować i używać Pywikibota na wiki FreeCAD. Pozwoli Ci to na wykonywanie najczęstszych zadań. W celu uzyskania bardziej zaawansowanych informacji należy zapoznać się z [http://www.mediawiki.org/wiki/Manual:Pywikibot Manual:Pywikibot] oraz z kodem źródłowym w środowisku Python.
Poniżej znajdziesz podstawowe instrukcje, jak skonfigurować i używać Pywikibota na wiki FreeCAD. Pozwoli Ci to na wykonywanie najczęstszych zadań. W celu uzyskania bardziej zaawansowanych informacji należy zapoznać się z [http://www.mediawiki.org/wiki/Manual:Pywikibot Manual:Pywikibot] oraz z kodem źródłowym w środowisku Python.


<span id="Installation"></span>
==Instalacja==
==Instalacja==


Line 30: Line 32:
Pywikibot działa ze środowiskiem Python v2.6 i v2.7 bez żadnych problemów. Python 3 <s> nie był testowany do tej pory z FreeCAD wiki</s> działa równie dobrze.
Pywikibot działa ze środowiskiem Python v2.6 i v2.7 bez żadnych problemów. Python 3 <s> nie był testowany do tej pory z FreeCAD wiki</s> działa równie dobrze.


<span id="Configuration"></span>
==Konfiguracja==
==Konfiguracja==


Line 43: Line 46:
}}
}}


W powyższym kodzie:
In the above code:


* replace ''<<yourWikiUserName>>'' with your Wiki user name
* zamień ''<<yourWikiUserName>>'' na nazwę użytkownika Wiki
* replace ''cp437'' with your ''console_encoding''. To find out what is your console encoding, for Windows and Linux, launch the Python interpreter, enter {{SystemInput|import sys}} followed by {{SystemInput|print sys.stdout.encoding}}. Python will write your {{SystemOutput|console_encoding}} on the screen.
* zastąp ''cp437'' swoim ''console_encoding''. Aby dowiedzieć się, jakie jest kodowanie twojej konsoli, w systemach Windows i Linux uruchom interpreter Pythona, wpisz {{SystemInput|import sys}}, a następnie {{SystemInput|print sys.stdout.encoding}}. Python wyświetli twoje {{SystemOutput|console_encoding}} na ekranie.




Then you must save the following Python code as a file with the name {{FileName|freecadwiki_family.py}} under the sub-directory {{FileName|/pywikibot/families}} (together with the other {{FileName|family_xxx.py}} files).
Następnie musisz zapisać poniższy kod Pythona jako plik o nazwie {{FileName|freecadwiki_family.py}} w podkatalogu {{FileName|/pywikibot/families}} ''(razem z innymi plikami {{FileName|family_xxx.py}})''.


{{Code|code=
{{Code|code=
Line 56: Line 59:
__version__ = '$Id: 7f3891c3bbbfbd69c0b005de953514803d783d92 $'
__version__ = '$Id: 7f3891c3bbbfbd69c0b005de953514803d783d92 $'


from pywikibot import family
z pywikibot zaimportuj rodzinę




Line 91: Line 94:
}}
}}


==Usage==
<span id="Usage"></span>
==Użycie==


You are now all set to launch the Pywikibot scripts. The scripts themselves are contained in the {{FileName|/scripts}} subdirectory, from which you can know the names.
Teraz możesz już uruchamiać skrypty Pywikibota. Same skrypty znajdują się w podkatalogu {{FileName|/scripts}}, z którego możesz poznać ich nazwy.


To launch the scripts, open a shell and move to the base directory (the installation one, NOT the {{FileName|/scripts}} subdirectory), and write
Aby uruchomić skrypty, należy otworzyć konsolę i przejść do katalogu bazowego ''(instalacyjnego, NIE podkatalogu {{FileName|/scripts}})'', a następnie napisać


{{SystemInput|python pwb.py <<scriptname>>.py -<<parameter>>}}
{{SystemInput|python pwb.py <<scriptname>>.py -<<parameter>>}}


where of course you replace ''<<scriptname>>'' with the name of the script you are interested in, and ''<<parameter>>'' with the parameter(s) required for the given script.
gdzie oczywiście zastępujemy ''<<scriptname>>'' nazwą interesującego nas skryptu, a ''<<parameter>>'' parametrem''(ami)'' wymaganym''(i)'' dla danego skryptu.


To have a description of the usage and parameters of any script, simply use the ''-help'' parameter. For instance, to have a description of the {{FileName|replace.py}} script (one of the most useful), type
Aby mieć opis użycia i parametrów dowolnego skryptu, po prostu użyj parametru ''-help''. Na przykład, aby uzyskać opis skryptu {{FileName|replace.py}} ''(jeden z najbardziej użytecznych)'', wpisz


{{SystemInput|python pwb.py replace.py -help}}
{{SystemInput|python pwb.py replace.py -help}}


Istnieje jeszcze jeden bardzo użyteczny parametr, ważny dla wszystkich skryptów, o nazwie ''-simulate'', który pozwala na testowanie poleceń bez szkody dla Wiki. Warto go użyć przed rozpoczęciem pracy na żywo.
There is another very useful parameter, valid for all the scripts, called ''-simulate'', that allows you to test commands without harming the Wiki. Use it, before going 'live'.


==Examples==
<span id="Examples"></span>
==Przykłady==


This command will log into the wiki
Ta komenda zaloguje do wiki


{{SystemInput|pwb.py login.py}}
{{SystemInput|pwb.py login.py}}




This command will print a list of all the pages containing a link to SourceForge
To polecenie wydrukuje listę wszystkich stron zawierających link do SourceForge


{{SystemInput|pwb.py listpages.py -weblink:sourceforge.net}}
{{SystemInput|pwb.py listpages.py -weblink:sourceforge.net}}




To polecenie zastąpi wszystkie linki do starego forum SourceForge linkiem do nowego forum hostowanego przez freecad.org
This command will replace all the links to the old SourceForge Forum with a link to the new freecadweb.org-hosted 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"}}




This command will print a list of all the pages containing the word 'PartDesign', starting with the page titled "2d Drafting Module" and going on alphabetically
To polecenie wydrukuje listę wszystkich stron zawierających słowo '''PartDesign''', zaczynając od strony zatytułowanej "2d Drafting Module" i idąc dalej alfabetycznie


{{SystemInput|pwb.py listpages.py -start:"2d Drafting Module" -grep:PartDesign}}
{{SystemInput|pwb.py listpages.py -start:"2d Drafting Module" -grep:PartDesign}}




Ta komenda zastąpi wszystkie bezpieczne linki do starego forum SourceForge linkiem do nowego forum hostowanego przez freecad.org na przetłumaczonych stronach
This command will replace all the secure links to the old SourceForge Forum with a link to the new freecadweb.org-hosted Forum in the translated pages


{{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"}}


== FreeCAD Wiki Related Commands ==
==FreeCAD Wiki Powiązane komendy==
Policz wszystkie strony, na których użyto określonego szablonu wiki
Count all pages that a specific wiki templates is used in


{{SystemInput|python3 pwb.py templatecount -count GuiCommand}}
{{SystemInput|python3 pwb.py templatecount -count GuiCommand}}




Lista wszystkich stron, na których użyty jest określony szablon Wiki
List all pages that a specific wiki templates is used in


{{SystemInput|python3 pwb.py templatecount -list GuiCommand}}
{{SystemInput|python3 pwb.py templatecount -list GuiCommand}}


Replace a string in all the pages listed in the Arch category (a/k/a [[Category:Arch]])
Zamień ciąg we wszystkich stronach wymienionych w kategorii Arch ''(a/k/a [[Category:Arch]])''


{{SystemInput|python3 pwb.py replace.py -cat:Arch}}
{{SystemInput|python3 pwb.py replace.py -cat:Arch}}

Latest revision as of 10:00, 19 April 2024

Roboty są z natury niebezpieczne, ponieważ mogą automatycznie wyrządzić wiele szkód. Używaj ich z najwyższą ostrożnością!

Informacje ogólne

Powtarzalne zadania mogą być zautomatyzowane za pomocą robotów lub botów, czyli programów komputerowych działających samodzielnie na wiki.

Naturalne i najczęściej używane roboty dla stron wiki są dostarczane przez MediaWiki, pod nazwą pakietu Pywikibot. Zobacz Manual:Pywikibot, aby uzyskać pełne informacje.

W skrócie, Pywikibot jest zbiorem skryptów Pythona zdolnych do używania natywnego API wiki do działania na stronach wiki. Aby zobaczyć listę API dla FreeCAD wiki, odwiedź http://www.freecadweb.org/wiki/api.php.

Aby korzystać z Pywikibota, należy:

  1. zainstaluj pakiet Pywikibot
  2. skonfiguruj Pywikibota do pracy na FreeCAD Wiki
  3. uruchom skrypty potrzebne do wykonania danego zadania

Istnieje wiele informacji o tym jak zainstalować, skonfigurować i używać Pywikibota. Należy jednak pamiętać, że informacje te, choć przydatne, mogą być mylące, ponieważ mieszają instrukcje dotyczące dwóch różnych baz kodu Pywikibota i różnych wersji kolekcji skryptów Pywikibota.

Poniżej znajdziesz podstawowe instrukcje, jak skonfigurować i używać Pywikibota na wiki FreeCAD. Pozwoli Ci to na wykonywanie najczęstszych zadań. W celu uzyskania bardziej zaawansowanych informacji należy zapoznać się z Manual:Pywikibot oraz z kodem źródłowym w środowisku Python.

Instalacja

Wejdź na stronę http://tools.wmflabs.org/pywikibot/ i pobierz package/pywikipedia/core.zip (projekt jest również na githubie, gerrit, itp., ale jest to prosty sposób, aby uzyskać pełny, samodzielny pakiet).

Rozpakuj zawartość w wybranym przez siebie katalogu.

Jeśli nie chcesz zainstalować bibliotek w lokalizacji swoich bibliotek Python, to już po wszystkim (jeśli nadal chcesz je zainstalować, sprawdź plik INSTALL w katalogu bazowym).

Pywikibot działa ze środowiskiem Python v2.6 i v2.7 bez żadnych problemów. Python 3 nie był testowany do tej pory z FreeCAD wiki działa równie dobrze.

Konfiguracja

Musisz zapisać poniższy kod Pythona jako plik o nazwie user-config.py w katalogu bazowym, w którym rozpakowałeś package/pywikipedia/core.zip (dla jasności, w tym samym katalogu, w którym znajdziesz już plik o nazwie user-config.py.sample).

# -*- coding: cp437  -*-
family = 'freecadwiki'
mylang = 'en'
usernames['freecadwiki']['en'] = u'<<yourWikiUserName>>'
#usernames['freecadwiki']['freecadwiki'] = u'<<yourWikiUserName>>'
console_encoding = 'cp437'

W powyższym kodzie:

  • zamień <<yourWikiUserName>> na nazwę użytkownika Wiki
  • zastąp cp437 swoim console_encoding. Aby dowiedzieć się, jakie jest kodowanie twojej konsoli, w systemach Windows i Linux uruchom interpreter Pythona, wpisz import sys, a następnie print sys.stdout.encoding. Python wyświetli twoje console_encoding na ekranie.


Następnie musisz zapisać poniższy kod Pythona jako plik o nazwie freecadwiki_family.py w podkatalogu /pywikibot/families (razem z innymi plikami family_xxx.py).

# -*- coding: utf-8  -*-

__version__ = '$Id: 7f3891c3bbbfbd69c0b005de953514803d783d92 $'

z pywikibot zaimportuj rodzinę


# 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

Użycie

Teraz możesz już uruchamiać skrypty Pywikibota. Same skrypty znajdują się w podkatalogu /scripts, z którego możesz poznać ich nazwy.

Aby uruchomić skrypty, należy otworzyć konsolę i przejść do katalogu bazowego (instalacyjnego, NIE podkatalogu /scripts), a następnie napisać

python pwb.py <<scriptname>>.py -<<parameter>>

gdzie oczywiście zastępujemy <<scriptname>> nazwą interesującego nas skryptu, a <<parameter>> parametrem(ami) wymaganym(i) dla danego skryptu.

Aby mieć opis użycia i parametrów dowolnego skryptu, po prostu użyj parametru -help. Na przykład, aby uzyskać opis skryptu replace.py (jeden z najbardziej użytecznych), wpisz

python pwb.py replace.py -help

Istnieje jeszcze jeden bardzo użyteczny parametr, ważny dla wszystkich skryptów, o nazwie -simulate, który pozwala na testowanie poleceń bez szkody dla Wiki. Warto go użyć przed rozpoczęciem pracy na żywo.

Przykłady

Ta komenda zaloguje do wiki

pwb.py login.py


To polecenie wydrukuje listę wszystkich stron zawierających link do SourceForge

pwb.py listpages.py -weblink:sourceforge.net


To polecenie zastąpi wszystkie linki do starego forum SourceForge linkiem do nowego forum hostowanego przez freecad.org

pwb.py replace.py -weblink:sourceforge.net/apps/phpbb/free-cad "sourceforge.net/apps/phpbb/free-cad" "forum.freecad.org"


To polecenie wydrukuje listę wszystkich stron zawierających słowo PartDesign, zaczynając od strony zatytułowanej "2d Drafting Module" i idąc dalej alfabetycznie

pwb.py listpages.py -start:"2d Drafting Module" -grep:PartDesign


Ta komenda zastąpi wszystkie bezpieczne linki do starego forum SourceForge linkiem do nowego forum hostowanego przez freecad.org na przetłumaczonych stronach

pwb.py replace.py -start:Translations:! "https://sourceforge.net/apps/phpbb/free-cad" "http://forum.freecad.org"

FreeCAD Wiki Powiązane komendy

Policz wszystkie strony, na których użyto określonego szablonu wiki

python3 pwb.py templatecount -count GuiCommand


Lista wszystkich stron, na których użyty jest określony szablon Wiki

python3 pwb.py templatecount -list GuiCommand

Zamień ciąg we wszystkich stronach wymienionych w kategorii Arch (a/k/a)

python3 pwb.py replace.py -cat:Arch