Module:User:Benwing2/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] = {required = true, default = "und"}, [2] = {required = true, default = "und"}, [3] = {},		[4] = {alias_of = "alt"}, [5] = {alias_of = "t"}, ["alt"] = {}, ["cat"] = {}, ["g"] = {list = true}, ["gloss"] = {alias_of = "t"}, ["id"] = {}, ["lit"] = {}, ["pos"] = {}, ["t"] = {}, ["tr"] = {}, ["ts"] = {}, ["sc"] = {},

["nocat"] = {type = "boolean"}, ["sort"] = {}, }

if has_text then params["notext"] = {type = "boolean"} params["nocap"] = {type = "boolean"} end

local args = require("Module:parameters").process(frame:getParent.args, params) 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