Module:Franchise total episodes

From blackwiki
Revision as of 19:26, 17 April 2020 by blackwiki>TheTVExpert
Jump to navigation Jump to search

Implements {{Franchise total episodes}}


local p = {};

local monthName = function(I1)
	if(I1 == 1) then return 'January' end
	if(I1 == 2) then return 'February' end
	if(I1 == 3) then return 'March' end
	if(I1 == 4) then return 'April' end
	if(I1 == 5) then return 'May' end
	if(I1 == 6) then return 'June' end
	if(I1 == 7) then return 'July' end
	if(I1 == 8) then return 'August' end
	if(I1 == 9) then return 'September' end
	if(I1 == 10) then return 'October' end
	if(I1 == 11) then return 'November' end
	if(I1 == 12) then return 'December' end
	if(I1 == 0) then return 0 end
	end

p.main = function( frame )
	local L1 = mw.getCurrentFrame():getParent().args.L1 or frame.args.L1
	local L2 = mw.getCurrentFrame():getParent().args.L2 or frame.args.L2
	local L3 = mw.getCurrentFrame():getParent().args.L3 or frame.args.L3
	local L4 = mw.getCurrentFrame():getParent().args.L4 or frame.args.L4
	local L5 = mw.getCurrentFrame():getParent().args.L5 or frame.args.L5
	local T1 = mw.getCurrentFrame():getParent().args.T1 or 'Aired episodes'
	local T2 = 'Infobox television'
	local T3 = 'num_episodes'
	local S1 = mw.getCurrentFrame():getParent().args.S1 or frame.args.S1
	local S2 = mw.getCurrentFrame():getParent().args.S2 or frame.args.S2
	local S3 = mw.getCurrentFrame():getParent().args.S3 or frame.args.S3
	local S4 = mw.getCurrentFrame():getParent().args.S4 or frame.args.S4
	local S5 = mw.getCurrentFrame():getParent().args.S5 or frame.args.S5
	local S6 = mw.getCurrentFrame():getParent().args.S6 or frame.args.S6
	local S7 = mw.getCurrentFrame():getParent().args.S7 or frame.args.S7
	local S8 = mw.getCurrentFrame():getParent().args.S8 or frame.args.S8
	local S9 = mw.getCurrentFrame():getParent().args.S9 or frame.args.S9
	local S10 = mw.getCurrentFrame():getParent().args.S10 or frame.args.S10
	local name = mw.getCurrentFrame():getParent().args.name  or frame.args.name
	name = tostring(name)
	if(name == 'nil') then name = "name" end
	local Date = mw.getCurrentFrame():getParent().args.Date or frame.args.Date

	local L1_1 = tonumber(frame:expandTemplate{title='Template parameter value',args={L1,T1,1,1,1}})
	if(L1_1 == nil) then L1_1 = 0 end
	local L1_2 = tonumber(frame:expandTemplate{title='Template parameter value',args={L1,T1,1,2,1}})
	if(L1_2 == nil) then L1_2 = 0 end
	local L1_3 = tonumber(frame:expandTemplate{title='Template parameter value',args={L1,T1,1,3,1}})
	if(L1_3 == nil) then L1_3 = 0 end
	
	local L2_1 = tonumber(frame:expandTemplate{title='Template parameter value',args={L2,T1,1,1,1}})
	if(L2_1 == nil) then L2_1 = 0 end
	local L2_2 = tonumber(frame:expandTemplate{title='Template parameter value',args={L2,T1,1,2,1}})
	if(L2_2 == nil) then L2_2 = 0 end
	local L2_3 = tonumber(frame:expandTemplate{title='Template parameter value',args={L2,T1,1,3,1}})
	if(L2_3 == nil) then L2_3 = 0 end
	
	local L3_1 = tonumber(frame:expandTemplate{title='Template parameter value',args={L3,T1,1,1,1}})
	if(L3_1 == nil) then L3_1 = 0 end
	local L3_2 = tonumber(frame:expandTemplate{title='Template parameter value',args={L3,T1,1,2,1}})
	if(L3_2 == nil) then L3_2 = 0 end
	local L3_3 = tonumber(frame:expandTemplate{title='Template parameter value',args={L3,T1,1,3,1}})
	if(L3_3 == nil) then L3_3 = 0 end
	
	local L4_1 = tonumber(frame:expandTemplate{title='Template parameter value',args={L4,T1,1,1,1}})
	if(L4_1 == nil) then L4_1 = 0 end
	local L4_2 = tonumber(frame:expandTemplate{title='Template parameter value',args={L4,T1,1,2,1}})
	if(L4_2 == nil) then L4_2 = 0 end
	local L4_3 = tonumber(frame:expandTemplate{title='Template parameter value',args={L4,T1,1,3,1}})
	if(L4_3 == nil) then L4_3 = 0 end
	
	local L5_1 = tonumber(frame:expandTemplate{title='Template parameter value',args={L5,T1,1,1,1}})
	if(L5_1 == nil) then L5_1 = 0 end
	local L5_2 = tonumber(frame:expandTemplate{title='Template parameter value',args={L5,T1,1,2,1}})
	if(L5_2 == nil) then L5_2 = 0 end
	local L5_3 = tonumber(frame:expandTemplate{title='Template parameter value',args={L5,T1,1,3,1}})
	if(L5_3 == nil) then L5_3 = 0 end
	
	local year, month, day

	year = math.max(L1_1,L2_1,L3_1,L4_1,L5_1)
	month = monthName(math.max(L1_2,L2_2,L3_2,L4_2,L5_2))
	day = math.max(L1_3,L2_3,L3_3,L4_3,L5_3)
	
	local S1 = tonumber(frame:expandTemplate{title='Template parameter value',args={S1,T2,1,T3,1}})
	if(S1 == nil) then S1 = 0 end
	local S2 = tonumber(frame:expandTemplate{title='Template parameter value',args={S2,T2,1,T3,1}})
	if(S2 == nil) then S2 = 0 end
	local S3 = tonumber(frame:expandTemplate{title='Template parameter value',args={S3,T2,1,T3,1}})
	if(S3 == nil) then S3 = 0 end
	local S4 = tonumber(frame:expandTemplate{title='Template parameter value',args={S4,T2,1,T3,1}})
	if(S4 == nil) then S4 = 0 end
	local S5 = tonumber(frame:expandTemplate{title='Template parameter value',args={S5,T2,1,T3,1}})
	if(S5 == nil) then S5 = 0 end
	local S6 = tonumber(frame:expandTemplate{title='Template parameter value',args={S6,T2,1,T3,1}})
	if(S6 == nil) then S6 = 0 end
	local S7 = tonumber(frame:expandTemplate{title='Template parameter value',args={S7,T2,1,T3,1}})
	if(S7 == nil) then S7 = 0 end
	local S8 = tonumber(frame:expandTemplate{title='Template parameter value',args={S8,T2,1,T3,1}})
	if(S8 == nil) then S8 = 0 end
	local S9 = tonumber(frame:expandTemplate{title='Template parameter value',args={S9,T2,1,T3,1}})
	if(S9 == nil) then S9 = 0 end
	local S10 = tonumber(frame:expandTemplate{title='Template parameter value',args={S10,T2,1,T3,1}})
	if(S10 == nil) then S10 = 0 end

	if(year == nil) then year = "year" end
	if(month == nil) then month = "month" end
	if(day == nil) then day = "day" end
	
	if(Date == nil) then Date = month .. " " .. day .. ", " .. year end
	
	local sum = mw.getContentLanguage():formatNum(S1+S2+S3+S4+S5+S6+S7+S8+S9+S10)
	
	return "As of " .. Date .. ", " .. sum .. " episodes of the ''" .. name .. "'' franchise have aired."
end

return p