Module:FindId
Jump to navigation
Jump to search
local p = {} local idListNames = { ability = 'Module:Ability_ids/data', enchantment = 'Module:Enchantment_ids/data', item = 'Module:Item_ids/data', location = 'Module:location_ids/data', monster = 'Module:Monster_ids/data', } local loadedIdLists = {} function p.loadData(listType) local listName = idListNames[listType] if loadedIdLists[listName] == nil then loadedIdLists[listName] = mw.loadData(listName) end return loadedIdLists[listName] end local function hyphenateName(name) return name:gsub("%s", "", 1):reverse():gsub("%s", "", 1):reverse():gsub("%s+", "_") end local function findId(hName, type) local IdList = p.loadData(type) for key, value in pairs(IdList) do if key == hName then return value else return "id not found" end end end function p.findId(frame) local args = frame:getParent().args return p._item(args) end function p._findId(args) local hName = hyphenateName(args[1]) local type = args[2] local id id = findId(hName, type) return id end return p