Suradnik:Argo Navis/pagefromfile.py
Pokušao sam upute napisati tako da budu jasne naprednijem suradniku. Ako zapne, slobodno mi se javite s pitanjima. --Ante Perkovic (razgovor) 13:30, 12. siječanj 2009. (CET)
Kako napraviti bota koji će postaviti hrpu članaka na wikipediju?
Prvo, potrebno je definirati "kostur" članka sa parametrima koji će se mijenjati od članka do članka. Primjer za to je Suradnik:PerkaBot/HCNGC:
<includeonly>{{Objekt dubokog svemira | sirina = 300px | name = NGC {{{nn}}} | type = galaksija | image = | slika_opis = | discoverer = | discovery_date = | discovery_place = | designations = | category = | epoch = J2000.0 | constellation = {{{const|}}} | ra = {{{ra|}}} | dec = {{{dec|}}} | dist_ly = | dist_pc = | appmag_v = {{{mag|}}} | sb = {{{sb|}}} | size_v = {{{size_v|}}} | PA = {{{PA|}}} | class = {{{class|}}} | dreyer = {{{dr}}} | names = {{{ot}}} | catalog = NGC | catalog number = {{{catalog number}}} | position_ref = <ref name="HCNGC">{{HCNGC}}</ref> | appearance_ref = <ref name="HCNGC" /> | names_ref = <ref name="HCNGC" /> }} '''NGC {{{nn}}}''' je [[galaksija]] u [[zviježđe|zviježđu]] [[{{{const}}} (zviježđe)|{{{const_lokativ}}}]]. == Reference == {{reflist}} == Vanjske poveznice == * {{seds|{{{nn}}}}} {{Navigacija NGC|{{{nn}}}}} {{Mrva-astro}} [[Kategorija: NGC katalog|{{{catalog number}}}]] [[Kategorija: Galaksije u {{{const_lokativ}}}|NGC {{{catalog number}}}]] </includeonly>
Da bi se uz pomoć gore navedenog predloška napravio članak kao npr. NGC 100 (trenutna verzija), potrebno je ovako kreirati članak:
{{subst:Suradnik:PerkaBot/HCNGC|catalog number = 100| nn = 100| const = Ribe| const_lokativ = Ribama| ra = {{RA|00|24|02.5}}| dec = {{DEC|+16|29|09}}| mag = 13,5| sb = 14,8| size_v = 5.5'x0.7'| PA = 56| class = Scd:sp| dreyer = {{dreyer|vF|pS|mE}}|names = UGC 231, MCG +03-02-009, CGCG 457.012, PGC 1525, FGC 42}}
Kopirajte gornji subst-ani predložak u neku praznu stranicu, kliknite na "Prikaži..." i pogledajte kako subst i predložak keiraju gotovi članak!
No, kako natjrati bota da stotine ovakvih subst-ova potrpa u članke točno onih naziva koje vi želite?
Ono što najčešće imate (na početku ili nakon što ste malo dopunili stupce i malo se igrali sa find-replace) u excellu je ovo:
catalog number nn const const_lokativ ra-sat ra-min ra-sek Dec-stu Dec-min Dec-sek mag sb size_v PA class dreyer names 100 100 Ribe Ribama 00 24 02.5 +16 29 09 13,5 14,8 5.5'x0.7' 56 Scd:sp vF pS mE UGC 231, MCG +03-02-009, CGCG 457.012, PGC 1525, FGC 42 101 101 Ribe Ribama ... 102 102 Ribe Ribama ...
Ono što vama treba je dodavanje ime predloška na početku, te dodavanje međustupaca sa konstantnim vrijednostima, kako bi pojedinim stupcima dali značenje:
(*) = dodani stupac s konstantnom vrijednošću za sve redove
(*) (*) catalog number (*) nn (*) const (*) const_lokativ ... (*) sb (*) size_v (*) PA (*) class ... {{subst:Suradnik:PerkaBot/HCNGC| catalog number = 100 |nn= 100 |const= Ribe |const_lokativ= Ribama ... |sb= 14,8 |size_v = 5.5'x0.7' |PA= 56 |class= Scd:sp ... }} {{subst:Suradnik:PerkaBot/HCNGC| catalog number = 101 |nn= 101 |const= Ribe |const_lokativ= Ribama ... |sb= 11.3 |size_v = 5.5'x0.7' |PA= 34 |class= Scd:sp ... }} {{subst:Suradnik:PerkaBot/HCNGC| catalog number = 102 |nn= 102 |const= Ribe |const_lokativ= Ribama ... |sb= 12,5 |size_v = 5.5'x0.7' |PA= 57 |class= Scd:sp ... }}
Sada već imamo {{subst:Suradnik:PerkaBot/HCNGC|...}} koji možemo ručno kopirati u NGC 100 i kreirali bi članaka kakav već postoji. No, cilj nam je da to radi bot, a ne mi. Da bi botu objasnili gdje koji članak počinje i završava, te kako će se koji zvati, potrebno je dodati određene dijelove na početka i kraj svakog retka:
- {{-start-}}'''Ime članka'''<redak kakav je gore>{{-stop-}}
Ovo možemo napraviti tako da na lijevi i desni kraj tablice dodamo konstantne stupce {{-start-}} i {{-stop-}}, a stupaca sa imenom članka se zasigurno može dobiti kopiranjem jednog ili više postojećih stupaca s podacima, uz eventualna dodatna podešavanja.
Kad ste gotovi s kreiranjem datoteke, nazovite je npr izvor.txt i dajte botu naredbu:
- pagefromfile.py -notitle -file:izvor.txt, a za dodatne opcije pogledajte m:Pagefromfile.py.
Bot pagefromfile.py ima opciju -appendtop, koja omogućava postavljanje predložaka tamo gdje ih nema. Jedina je razlika što "kostur" morate napraviti kao čisti predložak, bez "običnog" teksta, te pripaziti da ne punite članke koji već imaju predložak.
Sretno!
--Ante Perkovic (razgovor) 16:35, 12. siječanj 2009. (CET)