„Szerkesztő:Gyimbot” változatai közötti eltérés
→Összegképlet robot: Frissítés. Miért nem lehet O:-t írni ide, a kommentbe? |
|||
231. sor: | 231. sor: | ||
=== A lapok feltöltése === |
=== A lapok feltöltése === |
||
Egyelőre tesztüzem van: |
Egyelőre tesztüzem van: kézi ellenőrzés után a wikibot szkripttel. |
||
== Jegyzetek == |
== Jegyzetek == |
A lap 2018. április 14., 10:51-kori változata
Két botom van:
- A Dal infobox paramétereinek összegyűjtése és tárolása a Modul:Kották metaadatai lapon. A bot forrása és amd64-es binárisa elérhető debian repositoryból (wikikotta csomag).
- A kémiai lapok összegképleteinek összegyűjtése. Az átdolgozott bot tesztelése most[1] folyik. A korábbi változattal ellentétben ez nem használja a wikidump-ot. A bot forrása és amd64-es binárisa elérhető a debian repositoryból(kemiabot csomag).
Összegképlet robot
Darab | Év |
---|---|
1 | 2003 |
5 | 2004 |
119 | 2005 |
116 | 2006 |
359 | 2007 |
293 | 2008 |
139 | 2009 |
166 | 2010 |
244 | 2011 |
149 | 2012 |
318 | 2013 |
195 | 2014 |
105 | 2015 |
20 | 2016 |
27 | 2017 |
8 | 2018[2] |
Az összegképletek összegyűjtésekor a bot az alábbi szócikkekbe ír:
A botot Gyimhu üzemelteti. Az utolsó futás ideje 2018. április 13.
Statisztikák
|
|
Működés
Lépések:
- A bot lekérdezi a szócikk névtérből a kémiai sablonokra hivatkozó lapokat. Egyenként letölti őket, és kinyeri belőlük az összegképletet.
- Az összegképletek listáját korrigálja a kézzel megadott összegképletekkel, kihagyja belőlük a kézzel megadott szócikkeket.
- Generálja a wiki-lapokat.
- Lekérdezi a letöltött lapok létrehozási és utolsó módosítási dátumát és az azt végző szerkesztőt.
- Statisztikákat készít az új lapokról.
- Feltölti a lapokat a Wikipédiára.
A bot működésének fontos alapelve, hogy nem köti meg a szócikkek alakját, vagyis nem korlátozza a szerkesztőket, hanem alkalmazkodik hozzájuk. (Ez minden botra érvényes kellene legyen.)
A bot programjai linux shell scriptek és C programok, az atomszámok szerinti statisztika pedig lua nyelven készült. Debian disztribúcióban az amd64-re fordított kód és a forrás megtalálható a http://www.gyimesilaszlo.hu lapon, a kemiabot csomagban. Az alábbi rövid leírásnál több technikai részlet található a man lapokon.
A bot raspberry pi-n fut, raspbian disztribúcióban, a már említett debian repositoryból, forrásból letöltött debian-csomagokkal.
Az összegképletes lapok összegyűjtése
Kémiai sablonok:
{{Chembox}}
{{Chembox_new}}
(?){{Chembox új}}
(?){{Drugbox}}
(?){{Gyógyszeresdoboz}}
(?){{Vegyület_infobox}}
(?)
A shell script neve kembot, ami egyúttal le is kérdezi a lapokat (lásd alább). A lapok összegyűjtésére a sablhiv scriptet hívja a wikiscript csomagból a sablonra hivatkozó lapok lekérdezésére.
- Bemenő fájl: –
- Eredményfájl: kembot.mol.
A fenti sablonokra hivatkozó laplisták lekérdezése párhuzamosan történik, így a futási idő néhány másodperc. A sávszélességet maximálisan kihasználja, a processzor- és diszkigény minimális, .
Az összegképletek lekérdezése
Ezt is a kembot csinálja. A lapok lekérdezésére a wikiszoveg scriptet hívja a wikiscript csomagból, a lap parszolására és az összegképlet kinyerésére a kemia nevű C-programot.
Az eredmény ilyen alakú:
Aceton-peroxid Acibenzolár|C=7|N=2|S=2|O=1|H=4
Az első esetben a parszer nem talált összegképletet a lapon, több különbözőt talált, vagy az összegképletet nem tudta értelmezni.[5] Az utóbbi leggyakoribb okai:
- polimer
- kristályvíz
- töltés/ion
- több képlet, vagy ugyanaz a képlet többféle alakban.
A kémiai sablonok lehetővé teszik több eltérő összegképlet megadását, és ezt a wiki parszere nem veszi észre, mert
- többféle paraméterben adhatók meg: Formula, Képlet, kémiai_képlet, chemical_formula. Az összegképlet vegyjel-paraméterekkel is megadható.
- a három chembox típusú sablon alsablonokat hívhat, melyek szintén elfogadják a fenti összegképlet-paramétereket.
Fájlok:
- Bemenő fájl: kembot.mol.
- Eredményfájl: kembot.kepl.
100 Mbit-es hálózatban a futási idő kb. negyed óra. A processzor- és diszkhasználat minimális.
Kézi korrekció
Két célja van:
- a parszer által fel nem ismert összegképlet megadása
- szócikk elhagyása az összegképletek közül. Pl. a Sablon:Hulink hívja a Drugbox sablont, ezért a gépi listában benne lesz, viszont az összegképlet értelmetlen egy vegyületcsoportra (melyek ráadásul kémiailag nem is hasonlóak).
A korrigálni kívánt információt egy kézzel szerkesztett fájlban kell megadni (kezi.txt), melynek alakja azonos a gépi eredményfájléval. Az értelmezésben annyi különbség van, hogy a kezi.txt képletet nem tartalmazó szócikkeit törölni kell a gép által megtaláltak közül.
A kézi lista elsőbbséget élvez a géppel előállítottal szemben. Ha egy szócikk mindkét listában benne van, a gépiből töröljük. Ez lehetővé teszi a gépi összegképlet felülbírálását is (bár remélhetőleg erre nem lesz szükség).
A feladat tehát két lista összefésülése, melyet az olista script végez. Paraméterként megadható a gépi összegképletlista arra az esetre, ha az más módon (pl. a bot régebbi, a wikidump-ot használó verziójával) állt elő.
- Bemenő fájl: kezi.txt, kembot.kepl.
- Eredményfájl: hufo.kepl.
A futási idő néhány másodperc erős diszkhasználattal. Hálózatot nem, processzort minimálisan használ.
Az összegképlet lapok előállítása
Az összegképletek fent leírt alakú listájából wiki-lapokat állít elő egy külön könyvtárba. A gyakori elemekről külön lap készül, melynek minden vegyülete tartalmazza az elemet.
- Bemenő fájl: welem.txt, wiki.txt, hufo.ali, hufo.kepl.
- Eredményfájlok a huwiki alkönyvtárban.
A script neve okepl, mely a wtabl és wossz nevű (majdnem azonos) C-programot hívja. Az erőforrásigény elhanyagolható.
Statisztika
Lekérdezi a szócikkek létrehozási és módosítási idejét. Évenkénti/havonkénti statisztikát csinál.
Az időket és a szerkesztőket a kemcre script kérdezi le, melynek futási ideje kb. megegyezik a szócikkek lekérdezési idejével. Bemenete az olista eredményfájlja: hufo.kepl. Az eredményfájl neve kemcre.ido. A többi statisztikai szkriptnek ez a bemenete.
- kemcrestat: kilistázza a paraméterként megadott időnél később készült összegképlet lapokat, és kiírja havonként külön táblázatban.
- kemcreev: az összegképletes szócikkek száma évenként, 2003 óta.
- kemcreszerk: a legtöbb összegképletes szócikket létrehozó szerkesztők listája, ugyancsak 2003 óta.
A lapok feltöltése
Egyelőre tesztüzem van: kézi ellenőrzés után a wikibot szkripttel.
Jegyzetek
- ↑ 2018. április
- ↑ a b c 2018. április 9-ig.
- ↑ Pl. a Na2CO3 különböző atomjainak száma 3. 0 esetén nincs összegképlet, a 2 neve biner.
- ↑ Ciklopropatrién, Difoszfor, Dikén, Gyűrűs_ózon, Hexazin, Oktaazakubán, Ózon.
- ↑ Az aceton-peroxid esetén a dimer és a trimer képlete is meg van adva a szócikkben, ugyanabban a paraméterben, amint ez a hibakimenetben is látható.