Map Italian 5th class to Team IPW Italian 5
Fix 5th class exact-string map to Italian 5
 
(One intermediate revision by the same user not shown)
Line 3: Line 3:
-- IPW roster codes: 148T -> 148, 178? -> 178.
-- IPW roster codes: 148T -> 148, 178? -> 178.
-- Skip "14th Armd" / "2nd Armd". Lettered codes like 424-G are MII, not IPW.
-- Skip "14th Armd" / "2nd Armd". Lettered codes like 424-G are MII, not IPW.
-- 540-R / 545-R / 546-R categorize as unlettered MII 540/545/546.
local function miiLetterCode(part)
local function miiLetterCode(part)
local num, letter = mw.ustring.match(part, '^(%d+)%s*[%-–—]%s*([A-Za-z])$')
local num, letter = mw.ustring.match(part, '^(%d+)%s*[%-–—]%s*([A-Za-z])$')
if num and letter then
if num and letter then
return num .. '-' .. mw.ustring.upper(letter)
letter = mw.ustring.upper(letter)
if letter == 'R' and (num == '540' or num == '545' or num == '546') then
return num
end
return num .. '-' .. letter
end
end
return nil
return nil
Line 31: Line 36:
end
end
local spaced = mw.ustring.lower(mw.ustring.gsub(part, '%s+', ' '))
local spaced = mw.ustring.lower(mw.ustring.gsub(part, '%s+', ' '))
if mw.ustring.match(spaced, '^(italian )?5th class$') then
if spaced == '5th class' or spaced == 'italian 5th class' then
return '5'
return '5'
end
end