Editing Module:PageRefGive feedback
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
| Latest revision | Your text | ||
| Line 1: | Line 1: | ||
local p = {} | local p = {} | ||
local lang_module = require("Module:Lang") | |||
local heroes_data = mw.loadJsonData("Data:HeroData.json") | |||
local hero_keys = {} | |||
for key, _ in pairs(heroes_data) do | |||
table.insert(hero_keys, key) | |||
end | |||
local heroes_data = nil --free memory | |||
local function is_hero(resource_name_localized) | |||
local | for _, hero_key in ipairs(hero_keys) do | ||
if lang_module.get_string(hero_key) == resource_name_localized then | |||
return true | |||
end | |||
end | |||
return false | |||
end | |||
-- Generates appropriate filename from resource_name_localized | -- Generates appropriate filename from resource_name_localized | ||
p.get_file_name = function(frame) | p.get_file_name = function(frame) | ||
local resource_name_localized = frame.args[1] | local resource_name_localized = frame.args[1] | ||
-- | -- Prefix with File namespace | ||
if | file_name = "File:" .. resource_name_localized | ||
file_name = | |||
--Determine the filename to use | |||
file_name = | --Heroes use <hero_name>_MM.ext | ||
--Items use <item_name>.ext | |||
--Abilities use <ability_name>.ext | |||
if is_hero(resource_name_localized) then | |||
file_name = file_name .. "_MM" | |||
--elseif is_item(resource_name_localized) then | |||
--file_name = file_name .. "" | |||
--elseif is_ability(resource_name_localized) then | |||
--file_name = file_name .. "" | |||
end | end | ||
local | -- Try to grab SVG if possible | ||
if | local svg_file_name = file_name .. ".svg" | ||
if mw.title.new(svg_file_name).exists then | |||
file_name = svg_file_name | |||
else | |||
file_name = file_name .. ".png" | |||
end | end | ||
return file_name | return file_name | ||