Module:ATC code to template name

MyWikiBiz, Author Your Legacy — Wednesday September 28, 2022
Jump to navigationJump to search

Translates an ATC code passed as an unnamed parameter to the function "translate" into the name of the navbox template associated with that ATC code on Wikipedia.

Use:

X00https://mywikibiz.com/ATC_code_to_template_name#translate

The template returned does not have the Template: prefix.


-- this module provides a lookup from ATC codes to their associated navbox templates --
local data = mw.loadData("Module:ATC code to template name/data")
p = {}

function p.translate(frame)
	local name = frame.args[1]
	for _, v in pairs(data) do
		if v.code == name then
			if v.template then
				return frame:expandTemplate{ title = v.template }
			else
				error("ATC code not specific enough - please use one further character (example: instead of M01, use M01A)")
				return
			end
		end
	end
    error("Invalid ATC code (or the ATC code does not have a template matched to it)")
	return
end

return p