Module:Franchise total episodes explained

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 local monthNum = function(I1) if(I1

'January') then return 1 end if(I1

'February') then return 2 end if(I1

'March') then return 3 end if(I1

'April') then return 4 end if(I1

'May') then return 5 end if(I1

'June') then return 6 end if(I1

'July') then return 7 end if(I1

'August') then return 8 end if(I1

'September') then return 9 end if(I1

'October') then return 10 end if(I1

'November') then return 11 end if(I1

'December') then return 12 end return I1 end

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

1) then value = tonumber(monthNum(t[5])) if(value

nil) then value = 0 end end if(num

2) then value = tonumber(monthNum(t[1])) if(value

nil) then value = 0 end end if(num

3) then value = tonumber(monthNum(t[3])) if(value

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

nil) then value = 0 end return valueend

local getS = function(frame,S,T1,T2) local value = tonumber(expand(frame,S,T1,1,T2,1)) if(value

nil) then value = 0 end return valueend

local getD = function(S) local value = S if(value

nil) then value = "none none none none" end value = tostring(value) return valueend

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

'nil') then name = "name" end local Date = mw.getCurrentFrame:getParent.args.Date or frame.args.Date local sum = mw.getCurrentFrame:getParent.args.sum or frame.args.sum

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

L1_1) then month1=L1_2 end if(year

L2_1) then month2=L2_2 end if(year

L3_1) then month3=L3_2 end if(year

L4_1) then month4=L4_2 end if(year

L5_1) then month5=L5_2 end if(year

D1Y) then month1D=D1M end if(year

D2Y) then month2D=D2M end if(year

D3Y) then month3D=D3M end if(year

D4Y) then month4D=D4M 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)

L1_2) then day1=L1_3 end if(monthNum(month)

L2_2) then day2=L2_3 end if(monthNum(month)

L3_2) then day3=L3_3 end if(monthNum(month)

L4_2) then day4=L4_3 end if(monthNum(month)

L5_2) then day5=L5_3 end if(monthNum(month)

D1M) then day1D=D1D end if(monthNum(month)

D2M) then day2D=D2D end if(monthNum(month)

D3M) then day3D=D3D end if(monthNum(month)

D4M) then day4D=D4D 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 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 if(sum

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

return p