„Szerkesztő:Gyimbot” változatai közötti eltérés
70. sor: | 70. sor: | ||
=== Konfiguráció === |
=== Konfiguráció === |
||
Régi konfig: |
|||
* processzor: 1 darab 1-magos Intel(R) Pentium(R) M, 1.6 GHz |
|||
* memória: 512M |
|||
* tesztelés: wiki (lampp, 1.17) |
|||
* praktikus okokból a wiki/mysql és a debian/mysql más portra hallgat (két mysql instance). |
|||
* operációs rendszer: debian 6.0.6 (squeeze) |
|||
Új konfig: |
|||
* processzor: 2 darab 2-magos Intel(R) Core(TM) i5-3210M, 2.5 GHz |
* processzor: 2 darab 2-magos Intel(R) Core(TM) i5-3210M, 2.5 GHz |
||
* memória: 4G |
* memória: 4G |
||
* operációs rendszer: debian 7. |
* operációs rendszer: debian 7.4 (wheezy) |
||
Szükséges csomagok: mysql, libmysqlclient-dev, gcc, wget, openjdk-6-jre.<ref>Vagy más Java-csomag, mely képes az <tt>mwdumper.jar</tt>-t futtatni.</ref> |
Szükséges csomagok: mysql, libmysqlclient-dev, gcc, wget, openjdk-6-jre.<ref>Vagy más Java-csomag, mely képes az <tt>mwdumper.jar</tt>-t futtatni.</ref> |
A lap 2014. február 22., 14:32-kori változata
A bot elsődleges feladata a magyar Wikipédia kémiai lapjairól összegyűjteni az összegképleteket. A másik alkalmazása lapok újraparszolása.
Összegképlet robot
Az összegképletek összegyűjtésekor a bot az alábbi szócikkekbe ír:
A botot Gyimhu üzemelteti.
A legutolsó dump dátuma: 2024. május 2.
- az utolsó futás ideje: 2014. febuár 22.
- a használt adatbázis dump: február 21.
- Géppel felismert vegyület: 1850
- Hibásan felismert (a fentin felül): 7
- Kézzel hozzáadott vegyület: 32
- Vegyület összesen: 1882
- Felismert összegképlet: 1748
- Fel nem ismert összegképlet: 102
- Kézzel megadott összegképlet az új vegyületekkel együtt: 73
- Összegképlet összesen: 1821
- DISPLAYTITLE: 16
A robot futtatása
- A wikidump letöltése. Futási idő 10–15 perc.
- A mysql táblák létrehozása indexek nélkül. A huwiki-n a mediawiki verziójának változásával a szkript változhatik. A végrehajtási idő olyan rövid, hogy nem mérhető.
- A huWiki importálása:
java -jar mwdumper.jar pages-articles.xml
. A futási idő kb. negyed óra. - Indexek létrehozása a beimportált táblákra. Futási idő 3–4 perc.
- Munkatábla létrehozása az összegképleteket tartalmazó szócikkek számára. Memóriakorlátos a régi konfigurációban, ezért érdemes leállítani a gnome-ot és saját wikit. Az új konfigurációban diszkkorlátos. Futási idő a régi konfigurációban 4–4½ óra, az újban 3½ perc. (!)
- A kézi javítólista utolsó változtatásainak ellenőrzése, eltárolás a helyi filerendszerben (kezi.txt).
- Az összegképletek kigyűjtése
- A wiki-lapok generálása, feltöltés a helyi wiki-be ellenőrzés céljából.
- statisztika előállítása, jelen lap kézi szerkesztése. A kapott lap összevetése a helyi wiki összegképlet lap| utolsó és utolsó előtti változatának különbségével. A új, összegképlet nélküli lapok ellenőrzése, szükség esetén az összegképlet javítása és az összegképlet kézi megadása. (A következő futtatáskor ne felejtsük el törölni a javított összegképletű lapokat a kézi listából.) A vegyületekben szereplő elemek számának változása esetén a wtabl.c program módosítása.
- az utolsó letöltés óta keletkezett új lapok letöltése, kézi javítása, a kémia munkacsoport lapjának szerkesztése
- a lapok feltöltése huwiki-be.
Konfiguráció
- processzor: 2 darab 2-magos Intel(R) Core(TM) i5-3210M, 2.5 GHz
- memória: 4G
- operációs rendszer: debian 7.4 (wheezy)
Szükséges csomagok: mysql, libmysqlclient-dev, gcc, wget, openjdk-6-jre.[1]
A wikidump letöltése
FNEV=pages-articles.xml.bz2 rm -f $FNEV wget -t1 "http://dumps.wikimedia.org/huwiki/latest/huwiki-latest-pages-articles.xml.bz2" -O - | bunzip2 -c >$FNEV
Az összegképletek kigyűjtése
- Az összegképlet lapok generálása. A gépi listát (gepi.txt) előállító program (hufo) C nyelven íródott, futási ideje kb. egy perc. Ez a robot magja.
Az összegképlet-lista egyszerű szövegfile. Két példasor:
Aceton-peroxid Aciklovir|C=8|H=11|N=5|O=3
Az eredményfile-ban minden munkatáblabeli szócikk szerepel, ami nincs a tiltólistán (a kézi javítólista összegképlet nélküli sorai). Az első sorban a C-program nem találta meg az összegképletet, a másodikban a szócikkbeli összegképlettel azonos sorrendben sorolta fel az elemeket.
Ugyanilyen szerkezetű a kézi javítólista is. A lapgeneráló automatikusan összedolgozza a kettőt.
Ugyanez a program gyűjti ki és írja file-ba a DISPLAYTITLE sablonokat. A teljes eredményfile (hufo.ali):
Alfa-ketoizokapronsav|''alfa''-Ketoizokapronsav B12-vitamin|B<sub>12</sub>-vitamin Delta-valerolakton|''δ''-Valerolakton Dinitro-orto-krezol|Dinitro-''orto''-krezol Gamma-valerolakton|''γ''-Valerolakton N-klórszukcinimid|''N''-klórszukcinimid N-metilkoniin|''N''-Metilkoniin P-Toluolszulfonsav|''p''-Toluolszulfonsav Terc-butil-bromid|''terc''-Butil-bromid
A wiki-lapok generálása
A lapgeneráló lelke két C-program. Mindkettő a fent leírt összegképlet-file-t olvas be.[2] A wossz lista, a wtabl táblázat alakú weblapot állít elő.
Az első paraméter az összegképlet-file. Ha a program második filenevet is kap, kiírja az elemgyakoriságokat is (melyeket egyébként is figyel a táblázatos weblap miatt).
A lapokat egyetlen shell szkript állítja elő a fenti két C-program segítségével. Az összegképlet-listába bedolgozza az elemgyakoriságot egy második oszlopba. Az elemekre szűkített táblázatoknál a wtabl inputja a hufo.txt elemre szűrt változata. Az elemek listáját és a generálandó file-ok nevét a wiki.txt tartalmazza.
A lapok a wiki alkönyvtárban keletkeznek, a szócikk nevével azonos filenévvel.
A lapok feltöltése a magyar Wikipédiára
A műveletet a wiki-terminológia nem feltöltésnek, hanem edit-nek nevezi.
A feltöltő shell szkript a wiki alkönytár teljes tartalmát feltölti a Szerkesztő:Gyimbot alkönyvtáraiba, a filenévvel azonos szócikk névre.
Teendők
-
{{DISPLAYTITLE}}
a vegyületek nevében - helyközök a vegyületek nevében
- a fenti két névformázás a hiányzó összegképleteknél is
- botstring wget-ben
{{kisbetűscím}}
(?): 250 darab. Ebből kémia:- Alfa-propiolakton 11611631
- Α-ketoglutársav 12382187
Újraparszolás
A wiki a szócikk mentésekor hozza létre a szócikk hivatkozásait. Ha a szócikk által hívott sablonok változnak, a hivatkozások ezt nem követik. Erre szolgál a reparse. A filelist.txt-ből veszi az újraparszolandó lapok listáját. Lekérdezi és változtatás nélkül visszatölti őket.
A laptörténetben ebből semmi nem látható, de a hívott sablonok hivatkozásai megváltoznak.
Jegyzetek
- ↑ Vagy más Java-csomag, mely képes az mwdumper.jar-t futtatni.
- ↑ A két program ugyanazokból a forrásfile-okból áll. A különbség a C-fordítónak adott kapcsoló, melyet a main()- tartalmazó C-programban az
#ifdef
preprocesszor-utasítás figyel.