„Wikipédia:Pywikibot” változatai közötti eltérés

Tartalom törölve Tartalom hozzáadva
némi frissítés (compat helyett core), de messze nem teljes
telepítés menetének frissítése, →‎Átállás a 2.0 változatra: már nem kell, megtörtént
1. sor:
{{Frissítendő}}
{{technikai útmutató|2=[[WP:PYWIKI]]}}
 
{{comment|Ha segítségre van szükséged a pywikipediás botod beállításával kapcsolatban, segítséget kaphatsz angolul a [irc://irc.freenode.net/pywikipediabot #pywikibot] IRC-csatornán vagy a [http://lists.wikimedia.org/mailman/listinfo/Pywikipedia-l levelezőlistán]. • Egyszerűbb esetben magyarul is tudunk segíteni [[Wikipédia-vita:Botgazdák üzenőfala|a botgazdák vitalapján]].}}
 
A '''Python Wikipedia Robot Framework''' (röviden '''pywikibot''' vagy '''pywikipediabot''' vagy '''pywikipedia''') olyan [[WP:BOT|botszkriptek]] gyűjteménye, amelyekkel különböző feladatokat lehet elvégezni a Wikipédián, és más [[MediaWiki]]-alapú wikiken. A Pywikipediát [[Python (programozási nyelv)|Python]] nyelven írták, számos személy közreműködésével. Ezen a lapon a botot futtatni szándékozó szerkesztők találhatnak fontos információkat.
 
== A bot beindítása ==
 
=== Letöltés ===
A bot használatához a bot szoftverére és a [[Python (programozási nyelv)|Python]] legalább 2.67.2-oses (devagy inkább 23.73-es)as verziójára lesz szükséged. (A 3.x nem kompatibilis a 2.x-eskorábbi verziókkal, ésígy a Pywikipediakettőt nemegymástól működikfüggetlenül vele!fejlesztik tovább.)
 
A bot használatához a bot szoftverére és a [[Python (programozási nyelv)|Python]] legalább 2.6-os (de inkább 2.7-es) verziójára lesz szükséged. (A 3.x nem kompatibilis a 2.x-es verziókkal, és a Pywikipedia nem működik vele!)
 
A Python néhány Unix-disztribúción alapértelmezettként jelen van, ez esetben csak akkor kell frissítened, ha túl régi verzióval rendelkezel. Minden más esetben a http://www.python.org/download/ címről töltheted le. A Python minden ismertebb operációs rendszeren képes futni (pl. Unix, Linux, Mac, Windows).
 
A bot szoftverének legfrissebb változata GitHubrólelérhető érhető[[Git]] elsegítségével vagy tömörített állományként.
* A tömörített állományok ([[toollabs:pywikibot/core_stable.zip|zip]], [[toollabs:pywikibot/core_stable.tar.gz|tar.gz]]) letöltése egyszerűbb, azonban a frissítés némileg bonyolultabb. Letöltés után csak ki kell csomagolni. (Python ehhez is kell.)
# Telepítsd a [https://tortoisegit.org/download TortoiseGit-et]
* Ha fejleszteni is szeretnéd a Pywikibotot, akkor feltétlenül gites hozzáférésre lesz szükséged. Terminálablakból futtatható Git Linuxon általában elérhető, Windowson telepíteni kell a [https://git-for-windows.github.io/ Git for Windowst]. Ha szeretnél egy könnyen használható grafikus felületet is, akkor jól jöhet még a [https://tortoisegit.org/download TortoiseGit]. Ha telepítve vannak a megfelelő szoftverek (Python, Git, opcionálisan a TortoiseGit), akkor klónozni kell a legfrissebb Pywikibotot (ez frissebb, mint a tömörítve letölthető stabil verziók). A klónozás menete TortoiseGit segítségével a következő:
# hozz létre egy könyvtárat a botnak
*# Keresel egy szimpatikus mappát, ahova majd a bot mappája fog kerülni.
# nyisd meg az adott könyvtár helyi menüjét (jobb egérgomb a könyvtár nevén)
*# Jobb gombbal kattintasz egy üres helyre, majd a Git Klónozás… (angolul Git Clone…) menüpontot választod.
# Git Clone...
*# URL: https://githubgerrit.com/wikimedia.org/r/p/pywikibot-/core.git (ez ún. anonim URL, OKha szeretnél beküldeni fejlesztést, akkor érdemes névre szóló változatot klónozni), a mappanév átírható.
*# másold át a kapott könyvtárbaHa avan régi <codett>user-config.py</codett> fájlodatvagy (ésegyéb a <code>user-fixes.py</code>-tfájlod, haakkor használszmásold olyat)bele az újonnan létrejött mappába.
*# aA jövőben időnként (pár naponta) futtasdszinkronizáld a contextPywikidet a helyi menüből aelérhető Git Sync...Szinkronizálás… parancsot(Git Sync…) paranccsal.
 
Célszerű ékezetmentes elérési útvonalat biztosítani a Pywikipedia könyvtárának. Linux alatt több esetben okozott problémát az ékezetes könyvtárnév.<ref>[https://sourceforge.net/tracker/?func=detail&aid=3428890&group_id=93107&atid=603138 SourceForge bug]</ref><ref>[[Wikipédia:Botgazdák üzenőfala/Archív_15Archív 15#Pywikipedia hibaüzenet]]</ref>
 
=== Beállítás ===
==== Beállítás a Wikipédiához ====
Legegyszerűbben úgy készíthető el a beállításfájl, ha parancssorból/terminálból futtatod a <tt>generate_user_files.py</tt> fájlt (ha nem Windowst használsz, akkor kötelező a fájlnév elé írni a <tt>python</tt> szót, Windowson elhagyható). Ha ez valamiért nem működik, akkor a következő leírás alapján készítheted el a konfigurációt.
 
Nyiss meg egy [[UTF-8]]-kompatibilis szövegszerkesztő programot (pl. [http://notepad-plus.sourceforge.net/hu/site.htm Notepad++]), és írd be ezt a pár sort:
<sourcesyntaxhighlight lang="python">
# -*- coding: utf-8 -*-
use_api = True
34 ⟶ 32 sor:
mylang = 'hu'
usernames['wikipedia']['hu'] = u'Bot neve'
</syntaxhighlight>
</source>
ahol ''Bot neve'' az a felhasználónév, ami alatt a bot szerkesztései megjelennek majd a Wikipédián (ne felejtsd le az első aposztróf elől az <tt>u</tt> betűt!). Ha több wikin is használni akarod a botot, az utolsó sorhoz hasonló alakban add meg az ottani felhasználóneveidet is, pl.:
<sourcesyntaxhighlight lang="python">
usernames['wikipedia']['hu'] = u'Botorkáló'
usernames['wikipedia']['en'] = u'Botológus'
usernames['wiktionary']['de'] = u'Botladozó'
</syntaxhighlight>
</source>
Ilyenkor a 2. és 3. sor átírásával befolyásolhatod, hogy éppen melyik wikin fog futni a bot (vagy felülírhatod az itteni beállításokat parancssori paraméterekkel is).
 
48 ⟶ 46 sor:
 
Ha a bot üzenetei nem jelennek meg rendesen a képernyőn, hanem az ékezetek helyén csak krikszkrakszokat látsz, írd az alábbi sort is a <code>user-config.py</code>-ba (ha így sem működik, próbálkozz ''cp1250'' helyett mással, pl. ''utf8'' vagy ''iso-8859-2''):
<sourcesyntaxhighlight lang="python">console_encoding = 'cp1250'</sourcesyntaxhighlight>
 
Ha ez utóbbi be van kapcsolva, akkor viszont a bevitelnél sem lehet DOS-os ékezetes betűket használni, hanem pl. ''Ausztráliá''t ilyenformán viheted be: <tt>Ausztr%C3%A1lia</tt> (az ily módon kódolt szöveget az egyes lapok ''szerkesztés'' fülére kattintva elérhető címből lehet kimásolni). Ha a <code>user-config.py</code> hibaüzenetet ad parancssorból való futtatáskor (pl. nem fogadja el a <code>usernames</code> utasítást), érdemes parancssoron kívülről, egy windowsos fájlkezelőből futtatni.
 
Ha egy wikin adminisztrátor vagy, és szeretnéd, hogy a bot az adminjoggal bíró azonosítódat használja, amikor szüksége van rá (például egy védett lapot kell szerkesztenie), akkor add meg azt a felhasználónevedet is ilyenformán:
<sourcesyntaxhighlight lang="python">sysopnames['wikipedia']['hu'] = u'Admin neve'</sourcesyntaxhighlight>
([//hu.wikipedia.org/w/index.php?title=Speci%C3%A1lis%3ARendszernapl%C3%B3k&type=delete&page=Kateg%C3%B3ria%3ASz%C3%A1z%C3%A9ves+h%C3%A1bor%C3%BA+csat%C3%A1i Ebben a példában] [[Szerkesztő:BinBot|BinBot]] a [[mw:Manual:Pywikipediabot/category.py|category.py]] használata közben [[Szerkesztő:Bináris|Bináris]] nevében törölte a kiürített kategóriát. A szerkesztés tehát ilyenkor az adminisztrátor neve alatt jelenik meg.)
 
'''Tipp:''' A procedúrát egyszerűsítheted a <tt>generate_user_files.py</tt> futtatásával, amely létrehozza a <code>user-config.py</code> első változatát.
 
Ha saját szkripteket is akarsz írni, és nem a bot főkönyvtárában tartanád őket, hozzá kell adnod a bot könyvtárát a Python-modulok betöltési útjához. Windows alatt ezt úgy érheted el, hogy a <code>HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\''<verziószám>''\PythonPath</code> [[registry]] kulcs alá létrehozol egy új kulcsot <code>pywikipedia</code> néven, és értékül a pywikipediabot könyvtárát adod neki. Linux alatt egyszerűen csak be kell állítani a <code>PYTHONPATH</code> [[környezeti változó]]t (pl. az <code>export PYTHONPATH=''<pywikipedia elérési út>''</code> paranccsal).
70 ⟶ 66 sor:
=== Botszkript kiválasztása és futtatása ===
Ha a fentiekkel megvagy, készen állsz a bot futtatására. Ehhez be kell hoznod az operációs rendszeredhez tartozó szöveges felületet (parancssort, terminált).
* '''Windows'''on a Start menü → Futtatás (angolul ''Run'') pontjával tehető meg. A bejövő ablakban be kell írnod a futtatandó program nevét, „cmd”-t írj be (7 vagy újabb rendszer esetén egyszerűen a Start menüben/Kezdőképernyőn is be lehet gépelni, az Enter lenyomására ugyanúgy megjelenik a parancssor). Ezután nyisd meg a bot könyvtárát a <code>cd C:\"a pywikipedia letöltésének helye"</code> paranccsal.
 
* '''Mac'''-en a Terminal.app-ra lesz szükséged a /Applications/Utilities-ből.
'''Windows'''on a Start menü → Futtatás (angolul ''Run'') pontjával tehető meg. A bejövő ablakban be kell írnod a futtatandó program nevét, „cmd”-t írj be (7 vagy újabb rendszer esetén egyszerűen a Start menüben/Kezdőképernyőn is be lehet gépelni, az Enter lenyomására ugyanúgy megjelenik a parancssor).
*'''Linux'''on vagy bármelyik '''Unix'''-alapú rendszeren egy terminálra lesz szükséged.
* Menj a C: meghajtóra a <code>cd C:\</code> paranccsal
* Ezután írd be a <code>cd \"a pywikipedia letöltésének helye"</code> parancsot
 
'''Mac'''-en a Terminal.app-ra lesz szükséged a /Applications/Utilities-ből.
 
'''Linux'''on vagy bármelyik '''Unix'''-alapú rendszeren egy terminálra lesz szükséged.
 
Először futtasd le a ''login.py'' szkriptet a „<code>python pwb.py login</code>” beírásával. Kérni fogja a jelszót, add meg azt, amit a botnak beállítottál. Erre azért van szükség, mivel a bot nem dolgozik névtelenül. Ha nem változtatod meg a jelszavadat, erre egyetlenegyszer lesz szükséged, mert a bot általában nem jelentkezik ki.
84 ⟶ 75 sor:
 
=== Szkriptek ===
 
{| cellspacing="0" cellpadding="0" border="0" width="100%"
|- align="left" valign="middle"
139 ⟶ 129 sor:
* test.py
* xmltest.py
 
|}
 
=== További szkriptek ===
A [[Magyarmagyar Wikipédia]] botgazdái által írt modulokat az [[:Kategória:Egyedi fejlesztésű Pywikipedia-kódok|Egyedi fejlesztésű Pywikipedia-kódok]] kategóriában találod meg, ahonnan az interwikik mentén más projektek szkriptjei is elérhetőek. Ha saját készítésű szkripttel szeretnél dolgozni, te is ehhez hasonlóan teheted közzé.
 
Vedd figyelembe, hogy a régóta távollevő botgazdák programjai esetenként elavultak lehetnek, és nem biztos, hogy változtatás nélkül együttműködnek a Pywikipedia jelenlegi verziójával.
170 ⟶ 159 sor:
 
A különböző szkriptek parancssori argumentumait megtalálod az egyes fájlokban, ha azokat jegyzettömbbel vagy más szövegszerkesztővel megnyitod, illetve a <code>-help</code> argumentummal indítva a szkripteket kiírják azokat a képernyőre.
 
== Átállás a 2.0 változatra ==
{{Friss esemény|Ebben a szakaszban}}
 
A pywikibot váltás előtt áll: a készülő második kiadás legfőbb jellemzője, hogy teljesen a [[mw:API|MediaWiki API]] használatára épül, és szabványos Python-csomagként alakították ki. Bevezetésének időpontja nincs kijelölve.
 
A 2.0 változat évek óta készül, és már futtatható állapotban van. (Jelenleg tehát párhuzamosan működik a régi változattal.) Az elkészült részek a http://svn.wikimedia.org/viewvc/pywikipedia/branches/rewrite/ címen tekinthetők meg. Az új bot a Wikipédián és a [[Wikimédia Alapítvány|WikiMédia]] többi wikijén működik, de a [[MediaWiki]] 1.14-es változatánál régebbi motort használó wikiken meg kell maradni az 1-es változatnál. A Pywikipedia&nbsp;2 legalább 2.5-ös verziójú Pythont igényel. (Figyelem! A Python 3-as változataival továbbra sem fut! Jelenleg, 2010 szeptemberében a legfrissebb használható Python a 2.7.)
 
A Pywikipedia&nbsp;2 az eddigi bemásolás helyett telepítést igényel, ezt azonban egy telepítőscript segíti.
 
Az átállással kapcsolatos útmutató a [[botwiki:Rewrite/Conversion HOWTO]] címen, néhány más ezzel kapcsolatos lap a [[botwiki:Special:Prefixindex/rewrite]] keresésnél olvasható. (A fenti SVN-linken a [http://svn.wikimedia.org/viewvc/pywikipedia/branches/rewrite/README-conversion.txt?view=log README-conversion.txt] elavult, a botwikis lap frissebb.) A ''rewrite'' az SVN-tárban és a fejlesztői zsargonban a készülő változatot jelenti. A bot működőképességével és telepítésével kapcsolatos aktualitások a 2010. szeptember 2-i állapot szerint [http://lists.wikimedia.org/pipermail/pywikipedia-l/2010-September/006372.html ebben az e-mailben] találhatóak.
 
Ha csak a pywikibot kész moduljait futtatod, jelenleg nincs tennivalód az átállással. Akár az 1-es, akár a 2-es változatot használhatod, a fenti e-mailben leírtak figyelembe vételével.
 
Ha saját scripteket is használsz, tanulmányozd a Botwiki útmutatóját. A legfontosabb előkészület, amit az 1-es változat további használata mellett megtehetsz, hogy az <code>import wikipedia</code> sor helyett mindenhol <code>import wikipedia as pywikibot</code>-ot írsz. Ezzel együtt a <code>wikipedia.output</code>-ból <code>pywikibot.output</code> lesz, és így tovább. Ez az átállás a régi bot moduljaiban is megtörténik. Így a Pywikipedia&nbsp;2 bevezetésekor csak az <code>import</code> sorokat kell majd módosítanod a saját scriptjeidben, hogy kompatibilisek maradjanak az új verzióval. Ugyancsak érdemes a <code>Page.aslink()</code> helyett már most a <code>Page.title(asLink=True)</code> formulát használni.
 
== Levelezőlisták ==
 
A bot használatával kapcsolatban jelenleg négy angol nyelvű levelezőlista üzemel:
 
* [https[mail://lists.wikimedia.org/mailman/listinfo/pywikibot |pywikibot]]: felhasználók eszmecseréje (normál forgalommal)
* [https[mail://lists.wikimedia.org/mailman/listinfo/pywikibot-announce |pywikibot-announce]]: fontos közlemények (csekély forgalommal). Minden angolul beszélő botgazdának javasolt feliratkoznia rá!
* [https[mail://lists.wikimedia.org/mailman/listinfo/pywikibot-commits |pywikibot-commits]]: automata üzenetek a programkód változásairól (nagy forgalommal). A reakciók a pywikipedia-l listára érkeznek.
* [https[mail://lists.wikimedia.org/mailman/listinfo/pywikibot-bugs |pywikibot-bugs]]: automata üzenetek a hibákról (nagy forgalommal)
 
A korábbi levelezőlistát 2009 áprilisában osztották négy részre, hogy áttekinthetőbb legyen. ([http://lists.wikimedia.org/pipermail/pywikipedia-l/2009-April/005787.html Részletek itt.])