Module:Infobox gridiron football person/convert

-- [SublimeLinter luacheck-globals:mw]

-- This module serves to convert
-delimited teams/years parameters in

-- Template:Infobox gridiron football person to their equivalent numbered pairs. Simply

-- replace "{{Infobox gridiron football person" with

-- "{{subst:#invoke:Infobox gridiron football person/convert|main" and press "Save".

local p = {}

local getBuffer, print = require("Module:OutputBuffer")()

local function printfd(formatString, ...)

local default = ""

local args, argsNum = {...}, select("#", ...)

local newArgs = {}

for i = 1, argsNum do

if args[i] ~= nil then

table.insert(newArgs, args[i])

else

table.insert(newArgs, default)

end

end

print(string.format(formatString, unpack(newArgs)))

end

local function processTeamsYears(prefix, teams, years)

local function extractItems(s, t)

local sentinel = "😂" -- WTF, Lua?

string.gsub(string.gsub(s, "<[Bb][Rr] */?>", " " .. sentinel .. " "),

"[^" .. sentinel .. "]+",

function(c) table.insert(t, string.match(c, "^%s*(.-)%s*$")) end)

end

local newTeams = {}

extractItems(teams, newTeams)

local newYears = {}

extractItems(years, newYears)

if #newTeams ~= #newYears then

printfd("",

prefix, prefix)

printfd("| %s_teams = %s", prefix, teams)

printfd("| %s_years = %s", prefix, years)

return

end

c = 1

for i = 1, #newTeams do

if newYears[i] ~= "" or newTeams[i] ~= "" then

printfd("| %s_years%s = %s", prefix, c,

newYears[i] ~= "" and newYears[i] or

"")

printfd("| %s_team%s = %s", prefix, c,

newTeams[i] ~= "" and newTeams[i] or

"")

c = c + 1

end

end

end

function p._main(args)

print("{{Infobox gridiron football person")

if args.embed then

printfd("| embed = %s", args.embed)

end

printfd("| name = %s", args.name)

printfd("| image = %s", args.image)

if args.image_upright then

printfd("| image_upright = %s", args.image_upright)

end

printfd("| alt = %s", args.alt)

printfd("| caption = %s", args.caption)

if args.nickname then

printfd("| nickname = %s", args.nickname)

end

printfd("| birth_date = %s", args.birth_date)

printfd("| birth_place = %s", args.birth_place)

printfd("| death_date = %s", args.death_date)

printfd("| death_place = %s", args.death_place)

printfd("| team = %s", args.team)

printfd("| number = %s", args.number)

printfd("| status = %s", args.status)

if args.import then

printfd("| import = %s", args.import)

end

printfd("| position1 = %s", args.position1 or args.position or

args.Position)

if args.position2 then

printfd("| position2 = %s", args.position2)

end

if args.position3 then

printfd("| position3 = %s", args.position3)

end

if args.position4 then

printfd("| position4 = %s", args.position4)

end

if args.position5 then

printfd("| position5 = %s", args.position5)

end

if args.uniform_number or args.jersey then

printfd("| uniform_number = %s", args.uniform_number or args.jersey)

end

printfd("| height_ft = %s", args.height_ft or args.Height_ft)

printfd("| height_in = %s", args.height_in or args.Height_in)

printfd("| weight_lb = %s", args.weight_lb or args.weight_lbs or

args.Weight_lb or args.Weight_lbs)

if args.college or args.College then

printfd("| college = %s", args.college or args.College)

end

if args.CIS then

printfd("| CIS = %s", args.CIS)

end

if args.amateur_title or args.amateur_team then

printfd("| amateur_title = %s", args.amateur_title)

printfd("| amateur_team = %s", args.amateur_team)

end

if args.high_school then

printfd("| high_school = %s", args.high_school)

end

if args.AFLRookieYear then

printfd("| AFLRookieYear = %s", args.AFLRookieYear)

end

if args.AFLDraftedYear or args.AFLDraftedRound or args.AFLDraftedPick or

args.AFLDraftedTeam then

printfd("| AFLDraftedYear = %s", args.AFLDraftedYear)

printfd("| AFLDraftedRound = %s", args.AFLDraftedRound)

printfd("| AFLDraftedPick = %s", args.AFLDraftedPick)

printfd("| AFLDraftedTeam = %s", args.AFLDraftedTeam)

end

if args.BAFLRookieYear or args.BAFLDraftedTeam then

printfd("| BAFLRookieYear = %s", args.BAFLRookieYear)

printfd("| BAFLDraftedTeam = %s", args.BAFLDraftedTeam)

end

if args.CFLDraftedYear or args.CFLDraftedRound or args.CFLDraftedPick or args.CFLDraftedTeam then

printfd("| CFLDraftedYear = %s", args.CFLDraftedYear)

printfd("| CFLDraftedRound = %s", args.CFLDraftedRound)

printfd("| CFLDraftedPick = %s", args.CFLDraftedPick)

printfd("| CFLDraftedTeam = %s", args.CFLDraftedTeam)

end

if args.CommonDraftedYear or args.CommonDraftedRound or

args.CommonDraftedPick or args.CommonDraftedTeam then

printfd("| CommonDraftedYear = %s", args.CommonDraftedYear)

printfd("| CommonDraftedRound = %s", args.CommonDraftedRound)

printfd("| CommonDraftedPick = %s", args.CommonDraftedPick)

printfd("| CommonDraftedTeam = %s", args.CommonDraftedTeam)

end

if args.ExpDraftedYear or args.ExpDraftedRound or args.ExpDraftedPick or

args.ExpDraftedTeam then

printfd("| ExpDraftedYear = %s", args.ExpDraftedYear)

printfd("| ExpDraftedRound = %s", args.ExpDraftedRound)

printfd("| ExpDraftedPick = %s", args.ExpDraftedPick)

printfd("| ExpDraftedTeam = %s", args.ExpDraftedTeam)

end

if args.NFLDraftedYear or args.NFLDraftedRound or args.NFLDraftedPick or args.NFLDraftedTeam or

args.DraftedYear or args.DraftedRound or args.DraftedPick then

printfd("| NFLDraftedYear = %s", args.NFLDraftedYear or args.DraftedYear)

printfd("| NFLDraftedRound = %s", args.NFLDraftedRound or args.DraftedRound)

printfd("| NFLDraftedPick = %s", args.NFLDraftedPick or args.DraftedPick)

printfd("| NFLDraftedTeam = %s", args.NFLDraftedTeam)

end

if args.NFLSuppDraftedYear or args.NFLSuppDraftedRound or

args.NFLSuppDraftedPick then

printfd("| NFLSuppDraftedYear = %s", args.NFLSuppDraftedYear)

printfd("| NFLSuppDraftedRound = %s", args.NFLSuppDraftedRound)

printfd("| NFLSuppDraftedPick = %s", args.NFLSuppDraftedPick)

end

if args.hand then

printfd("| hand = %s", args.hand)

end

if args.pass_style then

printfd("| pass_style = %s", args.pass_style)

end

if args.administrating_teams and args.administrating_years then

processTeamsYears("administrating", args.administrating_teams,

args.administrating_years)

elseif args.administrating_teams then

print("")

printfd("| administrating_teams = %s", args.administrating_teams)

print("| administrating_years = ")

elseif args.administrating_years then

print("")

print("| administrating_teams = ")

printfd("| administrating_years = %s", args.administrating_years)

end

if args.coaching_teams and args.coaching_years then

processTeamsYears("coaching", args.coaching_teams, args.coaching_years)

elseif args.coaching_teams then

print("")

printfd("| coaching_teams = %s", args.coaching_teams)

print("| coaching_years = ")

elseif args.coaching_years then

print("")

print("| coaching_teams = ")

printfd("| coaching_years = %s", args.coaching_years)

end

if args.playing_teams and args.playing_years or

args.teams and args.years then

processTeamsYears("playing", args.playing_teams or args.teams,

args.playing_years or args.years)

elseif args.playing_teams or args.teams then

print("")

printfd("| playing_teams = %s", args.playing_teams or args.teams)

print("| playing_years = ")

elseif args.playing_years or args.years then

print("")

print("| playing_teams = ")

printfd("| playing_years = %s", args.playing_years or args.years)

end

if args.other_teams and args.other_years then

printfd("| other_title = %s", args.other_title)

processTeamsYears("other", args.other_teams, args.other_years)

elseif args.other_teams then

print("")

printfd("| other_title = %s", args.other_title)

printfd("| other_teams = %s", args.other_teams)

print("| other_years = ")

elseif args.other_years then

print("")

printfd("| other_title = %s", args.other_title)

print("| other_teams = ")

printfd("| other_years = %s", args.other_years)

end

if args.career_footnotes then

printfd("| career_footnotes = %s", args.career_footnotes)

end

printfd("| career_highlights = %s", args.career_highlights)

if args.AFLAllStar then

printfd("| AFLAllStar = %s", args.AFLAllStar)

end

if args.CFLAllStar then

printfd("| CFLAllStar = %s", args.CFLAllStar)

end

if args.CFLEastAllStar then

printfd("| CFLEastAllStar = %s", args.CFLEastAllStar)

end

if args.CFLWestAllStar then

printfd("| CFLWestAllStar = %s", args.CFLWestAllStar)

end

if args.ProBowls then

printfd("| ProBowls = %s", args.ProBowls)

end

if args.awards or args.Awards then

printfd("| awards = %s", args.awards or args.Awards)

end

if args.honors or args.Honors then

printfd("| honors = %s", args.honors or args.Honors)

elseif args.honours or args.Honours then

printfd("| honours = %s", args.honours or args.Honours)

end

if args["retired #s"] or args["Retired #s"] then

printfd("| awards = %s", args["retired #s"] or args["Retired #s"])

end

if args.records or args.Records then

printfd("| records = %s", args.records or args.Records)

end

if args.statlabel1 or args.statvalue1 then

printfd("| statlabel1 = %s", args.statlabel1)

printfd("| statvalue1 = %s", args.statvalue1)

printfd("| statlabel2 = %s", args.statlabel2)

printfd("| statvalue2 = %s", args.statvalue2)

printfd("| statlabel3 = %s", args.statlabel3)

printfd("| statvalue3 = %s", args.statvalue3)

printfd("| statlabel4 = %s", args.statlabel4)

printfd("| statvalue4 = %s", args.statvalue4)

printfd("| statlabel5 = %s", args.statlabel5)

printfd("| statvalue5 = %s", args.statvalue5)

end

if args.AFL then

printfd("| AFL = %s", args.AFL)

end

if args.ArenaFan then

printfd("| ArenaFan = %s", args.ArenaFan)

end

if args.CFL then

printfd("| CFL = %s", args.CFL)

end

if args.NFL then

printfd("| NFL = %s", args.NFL)

end

if args.CBS then

printfd("| CBS = %s", args.CBS)

end

if args.DatabaseFootball then

printfd("| DatabaseFootball = %s", args.DatabaseFootball)

end

if args.CoachPFR then

printfd("| CoachPFR = %s", args.CoachPFR)

end

if args.CFHOF then

printfd("| CFHOF = %s", args.CFHOF)

end

if args.CFHOFYear then

printfd("| CFHOFYear = %s", args.CFHOFYear)

end

if args.CollegeHOF then

printfd("| CollegeHOF = %s", args.CollegeHOF)

end

if args.CollegeHOFYear then

printfd("| CollegeHOFYear = %s", args.CollegeHOFYear)

end

if args.PFHOF or args.HOF then

printfd("| PFHOF = %s", args.PFHOF or args.HOF)

end

if args.PFHOFYear or args.HOFYear then

printfd("| PFHOFYear = %s", args.PFHOFYear or args.HOFYear)

end

if args.module then

printfd("| module = %s", args.module)

end

print("}}")

return getBuffer("\n")

end

function p.main(frame)

local args = require("Module:Arguments").getArgs(frame)

return p._main(args)

end

return p