Szerkesztő:BinBot/napkepe-figy.py
A scriptet Itt BinBot beszél a toolserverről automatikusan futtatja minden délután kettőkor.
# -*- coding: utf-8 -*-
"""
Ez a script ellenőrzi, hogy elkészült-e a másnapi képaláírás a nap képéhez,
illetve az évfordulós sablon, és ha nem, akkor figyelmeztetést ír a kocsmafalra.
This script will warn the community if the translation of the next POTD
description or the next day anniversaries template is missing.
(C) Bináris, 2013
"""
import time
import wikipedia as pywikibot
from binbotutils import levelez #Másnak nem szükséges
class naposbot(object):
def __init__(self):
global hiba
self.site = site
self.ev = time.localtime()[0]
self.ho = time.localtime()[1]
self.nap = time.localtime()[2]
self.hossz = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
# Szökőév / leap year:
if self.ev != 2100 and not (self.ev % 4):
self.hossz[1] = 29
def holnap(self):
# Ez így csak egyszer hívható! Tárolni kell az értékét.
if self.ho == 12 and self.nap == 31: # Szilveszter
self.ev += 1
self.ho = self.nap = 1
elif self.nap == self.hossz[self.ho - 1]: # Hó vége
self.ho += 1
self.nap = 1
else:
self.nap += 1
return '%4d-%02d-%02d' % (self.ev, self.ho, self.nap)
def run(self):
missing1 = False
missing2 = False
holnap = self.holnap()
neve = u'Sablon:Napképe/%s (hu)' % holnap
page = pywikibot.Page(self.site, neve) # A nap képe sablonja
if not page.exists():
missing1 = True
years = \
(["'0, '5", "'1, '6", "'2, '7", "'3, '8", "'4, '9"] * 2)[int(holnap[3])]
neve2 = u'Sablon:Évfordulók/%s/%s' % (years, holnap[5:])
page2 = pywikibot.Page(self.site, neve2) # Az ünnepek sablonja
if not page2.exists():
missing2 = True
title = u'Hiányzik a '
if missing1:
title += u'holnapi nap képének magyar képaláírása'
if missing2:
title += u' és a '
if missing2:
title += u'holnapi évfordulók sablonja'
title +='!'
comment = u'/* %s */ (új szakasz)' % title
text = u'\n\n== %s ==\n\n' % title
if missing1:
text += u'A holnapi nap képéhez még nem készült el ' \
u'[[%s|a képaláírás]]! Eredeti: [[commons:Template:Potd/%s (hu)]].'\
% (neve, holnap)
if missing2:
text += '\n\n'
if missing2:
text += u'Még nem készültek el [[%s|a holnapi évfordulók]] a kezdőlapra!' % neve2
text += u' ~~~~\n'
oldal = pywikibot.Page(self.site, u'Wikipédia:Kocsmafal (egyéb)')
if missing1 or missing2:
text = oldal.get() + text
try:
oldal.put(text, comment, minorEdit=False, botflag=False)
except:
#Nem szelektálunk, toolserverről fog futni, e-mailezzen
hiba = True
if __name__=="__main__":
try:
site = pywikibot.getSite()
hiba = False
fatal = True
bot = naposbot()
bot.run()
fatal = False
finally:
levelez(fatal,hiba)
pywikibot.stopme()