Lua error in package.lua at line 80: module 'Module:UtilsCode' not found.
local p = {}
local cargo = mw.ext.cargo
local utilsCode = require("Module:UtilsCode")
local utilsGame = require("Module:UtilsGame")
local utilsText = require('Module:UtilsText')
local utilsTable = require('Module:UtilsTable')
function p._Main (frame)
local args = frame.args
return p.Main(args["game"], args["term"], args["link"], args["plural"], args["display"], args["section"])
end
function p.Main(game, term, link, plural, display, section)
local returnedValue = ""
local fetchedTerm = p.fetchRow(game, term)
if utilsCode.IsEmpty(fetchedTerm) then
local displayedTerm = term
if not utilsCode.IsEmpty(display) then
displayedTerm = display
end
local linkedTerm = term
if not utilsCode.IsEmpty(section) then
linkedTerm = linkedTerm .. "#" .. section
end
return "<span class='explain facelift-term-invalid' title='Invalid or missing term'>[[" .. term .. "|" .. displayedTerm .. "]]</span>[[Category:Pages with Invalid or Missing Terms]][[Category:" .. utilsGame.AbbToGame(game) .. " Pages with Invalid or Missing Terms]]"
else
if link == "link" then
local gameSub = utilsGame.AbbToBaseGame(game, true)
returnedValue = returnedValue .. "[[" .. term
if not utilsCode.IsEmpty(section) then
returnedValue = returnedValue .. "#" .. section
elseif (gameSub ~= "Unknown" and game ~= "Series") then
returnedValue = returnedValue .. "#" .. gameSub
end
returnedValue = returnedValue .. "|"
else
returnedValue = returnedValue .. "<span class='term'>"
end
if not utilsCode.IsEmpty(display) then
returnedValue = returnedValue .. display
elseif plural == "plural" then
returnedValue = returnedValue .. fetchedTerm["plural"]
else
returnedValue = returnedValue .. fetchedTerm["term"]
end
if link == "link" then
returnedValue = returnedValue .. "]]"
else
returnedValue = returnedValue .. "</span>"
end
end
return returnedValue
end
-- Returns raw term
function p.fetchTerm(game, page)
return p.fetchRow(game, page)["term"]
end
function p._fetchTerm(frame)
local args = frame.args
return p.fetchTerm(args["game"], args["term"])
end
-- Returns raw plural
function p.fetchPlural(game, page)
return p.fetchRow(game, page)["plural"]
end
function p._fetchPlural(frame)
local args = frame.args
return p.fetchPlural(args["game"], args["term"])
end
-- Returns the table row of the specified game for the specified page.
-- Returns the entry for "Series" if not found.
function p.fetchRow(game, page)
local tables = 'Terminologies'
local fields = 'games, term, plural'
local queryArgs = {
where = "_pageName = '" .. string.gsub(page, "'", "''") .. "'"
}
local result = cargo.query( tables, fields, queryArgs )
--Looks for the game
for _, row in pairs(result) do
local games = utilsText.split(row.games)
if utilsTable.keyOf(games, game) then
return row
end
end
--Else, looks for "Series"
for _, row in pairs(result) do
local games = utilsText.split(row.games)
if utilsTable.keyOf(games, "Series") then
return row
end
end
return nil
end
return p