Module:Bongolium500/main page modules

local smwUtil = require('Module:SMW') local textUtil = require('Module:TextUtil') local cache = require('mw.ext.LuaCache') local p = {} local h = {} local MONTHS = {"January", "Feburary", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"}

function p.birthdayModule(frame) local PREFIX = "MAINPAGEBIRTHDAY-" local currentDate = os.date("%F") local outputBox = " Today's Birthdays! " local outputWidget = cache.get(PREFIX .. currentDate) or "" if outputWidget == "" then local year, month, day = string.match(currentDate, "(%d+)-(%d+)-(%d+)") local monthName = MONTHS[tonumber(month)] local pageName = day .. " " .. monthName .. " (people)" --return pageName local pageText = frame:callParserFunction('#dpl:', {include='*', title=pageName}):gsub(".*-->", ""):gsub("<!--.*", "") local events = textUtil.split(pageText, "*") local birthdays = {} local position = "left" for _, event in pairs(events) do			if string.find(event, "born") then local birthday = event:gsub(".* %- ", "") local temp = textUtil.split(birthday, "%.") local person = temp[1]:gsub(" was born.*", "") local source = temp[2] local pageName = person:gsub(".*%[%[", ""):gsub("|.*", "") local smwImage = mw.smw.ask( "" .. pageName .. "" .. "\n|?Has image")[1]["Has image"] local image = "" if smwImage then image = "100px|right" end outputBox = outputBox .. "\n\n" .. image .. "Happy birthday to " .. person .. "! " .. source end end return outputBox end end

return p