local p = ;
local monthName = function(I1) if(I1
2) then return 'February' end if(I1
4) then return 'April' end if(I1
6) then return 'June' end if(I1
8) then return 'August' end if(I1
10) then return 'October' end if(I1
12) then return 'December' end if(I1
'January') then return 1 end if(I1
'March') then return 3 end if(I1
'May') then return 5 end if(I1
'July') then return 7 end if(I1
'September') then return 9 end if(I1
'November') then return 11 end if(I1
local expand = function(frame,page,template,one,two,three) local result = (frame:expandTemplate) return resultend
local getDateDFull = function(frame,value,i)
if(value ~= 'none none none none') then local number = (expand(frame,value,"Infobox television",1,"num_episodes",1)+i) value = expand(frame,value,"Episode list",number,"OriginalAirDate",1) end
value = string.gsub(value, ",", "") local t = for substring in value:gmatch("%w+") do table.insert(t,substring) end return tend
local getDateDPart = function(num,t) local value if(num
nil) then value = 0 end end if(num
nil) then value = 0 end end if(num
nil) then value = 0 end end return valueend
local getDateL = function(frame,num,L,T) local value value = tonumber(expand(frame,L,T,1,num,1)) if(value
local getS = function(frame,S,T1,T2) local value = tonumber(expand(frame,S,T1,1,T2,1)) if(value
local getD = function(S) local value = S if(value
p.main = function(frame) local D1I = mw.getCurrentFrame:getParent.args.S1I or frame.args.S1I or 0 local D2I = mw.getCurrentFrame:getParent.args.S2I or frame.args.S2I or 0 local D3I = mw.getCurrentFrame:getParent.args.S3I or frame.args.S3I or 0 local D4I = mw.getCurrentFrame:getParent.args.S4I or frame.args.S4I or 0 local D5I = mw.getCurrentFrame:getParent.args.S5I or frame.args.S5I or 0 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 = '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
local L1_1 = getDateL(frame,1,L1,T1) local L1_2 = getDateL(frame,2,L1,T1) local L1_3 = getDateL(frame,3,L1,T1) local L2_1 = getDateL(frame,1,L2,T1) local L2_2 = getDateL(frame,2,L2,T1) local L2_3 = getDateL(frame,3,L2,T1) local L3_1 = getDateL(frame,1,L3,T1) local L3_2 = getDateL(frame,2,L3,T1) local L3_3 = getDateL(frame,3,L3,T1) local L4_1 = getDateL(frame,1,L4,T1) local L4_2 = getDateL(frame,2,L4,T1) local L4_3 = getDateL(frame,3,L4,T1) local L5_1 = getDateL(frame,1,L5,T1) local L5_2 = getDateL(frame,2,L5,T1) local L5_3 = getDateL(frame,3,L5,T1) local D1Y = getDateDPart(1,getDateDFull(frame,getD(S1),D1I)) local D1M = getDateDPart(2,getDateDFull(frame,getD(S1),D1I)) local D1D = getDateDPart(3,getDateDFull(frame,getD(S1),D1I)) local D2Y = getDateDPart(1,getDateDFull(frame,getD(S2),D2I)) local D2M = getDateDPart(2,getDateDFull(frame,getD(S2),D2I)) local D2D = getDateDPart(3,getDateDFull(frame,getD(S2),D2I)) local D3Y = getDateDPart(1,getDateDFull(frame,getD(S3),D3I)) local D3M = getDateDPart(2,getDateDFull(frame,getD(S3),D3I)) local D3D = getDateDPart(3,getDateDFull(frame,getD(S3),D3I)) local D4Y = getDateDPart(1,getDateDFull(frame,getD(S4),D4I)) local D4M = getDateDPart(2,getDateDFull(frame,getD(S4),D4I)) local D4D = getDateDPart(3,getDateDFull(frame,getD(S4),D4I)) local D5Y = getDateDPart(1,getDateDFull(frame,getD(S5),D5I)) local D5M = getDateDPart(2,getDateDFull(frame,getD(S5),D5I)) local D5D = getDateDPart(3,getDateDFull(frame,getD(S5),D5I)) local year, month, day local month1=0 local month2=0 local month3=0 local month4=0 local month5=0 local month1D=0 local month2D=0 local month3D=0 local month4D=0 local month5D=0 local day1=0 local day2=0 local day3=0 local day4=0 local day5=0 local day1D=0 local day2D=0 local day3D=0 local day4D=0 local day5D=0
year = math.max(L1_1,L2_1,L3_1,L4_1,L5_1,D1Y,D2Y,D3Y,D4Y,D5Y) if(year
L2_1) then month2=L2_2 end if(year
L4_1) then month4=L4_2 end if(year
D1Y) then month1D=D1M end if(year
D3Y) then month3D=D3M end if(year
D5Y) then month5D=D5M end month = monthName(math.max(month1,month2,month3,month4,month5,month1D,month2D,month3D,month4D,month5D)) if(monthNum(month)
L2_2) then day2=L2_3 end if(monthNum(month)
L4_2) then day4=L4_3 end if(monthNum(month)
D1M) then day1D=D1D end if(monthNum(month)
D3M) then day3D=D3D end if(monthNum(month)
D5M) then day5D=D5D end day = math.max(day1,day2,day3,day4,day5,day1D,day2D,day3D,day4D,day5D) local S1 = getS(frame,S1,T2,T3) local S2 = getS(frame,S2,T2,T3) local S3 = getS(frame,S3,T2,T3) local S4 = getS(frame,S4,T2,T3) local S5 = getS(frame,S5,T2,T3) local S6 = getS(frame,S6,T2,T3) local S7 = getS(frame,S7,T2,T3) local S8 = getS(frame,S8,T2,T3) local S9 = getS(frame,S9,T2,T3) local S10 = getS(frame,S10,T2,T3)
if(year
nil) then month = "month" end if(day
nil) then Date = month .. " " .. day .. ", " .. year end if(sum
return p