Wikipedie:Wikikonference/2013/Jak na boty
Appearance
Prezentace[editovat | editovat zdroj]
- Prezentace (PDF)
Zdroje[editovat | editovat zdroj]
- API (přístup k datům z wiki pro programy):
/w/api.php
na každé wiki - Pywikibot
- Sada nástrojů pro jazyk Python, obsahuje skripty pro hromadné úpravy textů v článcích, přesouvání mezi kategoriemi a tak podobně.
- Je možno i psát vlastní skripty.
- Regulární výrazy jsou mocná část vhodná k zaměňování textů, můžeme je použít třeba se skriptem
replace.py
z Pywikibota. Jejich varianta pro Python se dá testovat třeba na pythonregex.com.
Příklad vlastního skriptu: zamykání článků týdne[editovat | editovat zdroj]
- Spouštíme cronem v pondělí brzy ráno.
import pywikibot
import datetime
yearweek = datetime.date.today().isocalendar()[:2]
# ^ tohle nám dá dvojici (rok, týden)
pages = [ # různé články pro tento týden
u'Wikipedie:Článek týdne/%04d/%02d' % yearweek,
u'Wikipedie:Obrázek týdne/%04d/%02d' % yearweek,
u'Wikipedie:Zajímavosti/%04d/%02d' % yearweek,
]
site = pywikibot.getSite()
for pgname in pages: # pro každou stránku ze seznamu
page = pywikibot.Page(site, pgname) # najdu ji na wiki
page.protect( # a zamknu...
editcreate='autoconfirmed', move='sysop', # editace pro registrované, přesun jen správci
reason='automatizovany zamek neceho tydne', # popis editace
prompt=False, # neptej se a konej
editcreate_duration='1 week', move_duration='1 week' # chceme zámek jen na týden
)
pywikibot.stopme() # dáme prostor i ostatním