Modul:RO
Die Dokumentation für dieses Modul kann unter Modul:RO/Doku erstellt werden
local p = {} function p.next(frame) local page = frame.args[1] title = mw.title .new(page) pt = title:getContent() local match = os.date('%y')..'%-%d%d%-(%d%d+)' local new = 1 for w in string.gmatch(pt, match) do local num = tonumber(w) if num >= new then new = num + 1 end end local lv = tonumber(string.match(page, '%d+')) local out = os.date('%y')..'-'..string.format("%02i", lv)..'-'..string.format("%02i", new) return out end function p.punktesumme(frame) return p.punktesumme2(frame.args[1], frame.args[2], frame.args[3]) end function p.punktesumme2(ro,jahr,typ) local page = 'RO:' .. ro if jahr == nil or jahr == "" then jahr = '%w+' end if typ == nil or typ == "" then typ = '%wW' end title = mw.title .new(page) pt = title:getContent() local punkte = 0 for w in string.gmatch(pt, '| Punkte%s+'..typ..'%s+'..jahr..'%s+=%s+(%d+)') do local num = tonumber(w) punkte = punkte + num end return punkte end function p.bgcolor(frame) local ro = frame.args[1] local ret = '' local jahr = os.date('%Y') local vier = tonumber(p.punktesumme2(ro,jahr-4)) local drei = tonumber(p.punktesumme2(ro,jahr-3)) local zwei = tonumber(p.punktesumme2(ro,jahr-2)) local eins = tonumber(p.punktesumme2(ro,jahr-1)) local null = tonumber(p.punktesumme2(ro,jahr)) if null == 0 and eins == 0 and zwei == 0 then ret = 'style="background:#ff0000" |' end if null == 0 and eins+zwei+drei+vier < 20 then ret = 'style="background:#fffa00" |' end ret = ro..'/'..null..'/'..eins..'/'..zwei..'/'..drei..'/'..vier return ret end return p