Module:Etymology/templates/internal

-- For internal use only with Module:etymology/templates and its submodules.

local export = {}

function export.fetch_lang(lang, param) return require("Module:languages").getByCode(lang, param) end

function export.fetch_source(code, param, disallow_family) return require("Module:languages").getByCode(code, param, true, not disallow_family) end

local function fetch_sources(codes, param, disallow_family) local m_languages = require("Module:languages") codes = mw.text.split(codes, "%s*,%s*") for i, code in ipairs(codes) do		codes[i] = m_languages.getByCode(code, param, true, not disallow_family) end return codes end

function export.fetch_source_or_sources(source, param, disallow_family) local sources if source:find(",") then sources = fetch_sources(source, param, no_family) source = sources[#sources] else source = export.fetch_source(source, param, no_family) end return source, sources end

function export.fetch_script(sc, param) return require("Module:scripts").getByCode(sc, param) end

function export.parse_2_lang_args(frame, has_text, no_family) local params = { [1] = true, [2] = true, [3] = false, ["alt"] = {aliases = {4}}, ["cat"] = false, ["id"] = false, ["lit"] = false, ["pos"] = false, ["t"] = {aliases = {5, "gloss"}}, ["tr"] = false, ["ts"] = false, ["sc"] = false, ["senseid"] = false,

["nocat"] = false, ["sort"] = false, ["conj"] = false, }

if has_text then params["notext"] = false params["nocap"] = false end

local args = require("Module:parameters/lite").process(frame:getParent.args, params) local yesno = require("Module:yesno")

args["g"] = require("Module:parameters/lite/list")(frame:getParent.args, "g") args["nocat"] = yesno(args["nocat"]) if has_text then args["notext"] = yesno(args["notext"]) args["nocap"] = yesno(args["nocap"]) end local lang = export.fetch_lang(args[1], 1) local source, sources = export.fetch_source_or_sources(args[2], 2, no_family) local sc = export.fetch_script(args["sc"], "sc")

return args, lang, { lang = source, sc = sc, term = args[3], alt = args["alt"], id = args["id"], genders = args["g"], tr = args["tr"], ts = args["ts"], gloss = args["t"], pos = args["pos"], lit = args["lit"] }, sources end

return export