Module:Sandbox/RexxS/Unitsdemo

From WikiProjectMed
Jump to navigation Jump to search
-- Demo of a module that takes a QID from a Wikidata unit entry
-- and returns the code for that unit which [[Template:Convert]] can accept
-- can also return the name of the unit, if required

local p = {}
require('Module:Sandbox/RexxS/Units')

p.sing = function(frame)
	local QID = mw.text.trim(frame.args[1] or "")
	if QID and unitByQid[QID] then
		return unitByQid[QID].singular
	else
		return "singular not known"
	end
end

p.plur = function(frame)
	local QID = mw.text.trim(frame.args[1] or "")
	if QID and unitByQid[QID] then
		if unitByQid[QID].plural then
			return unitByQid[QID].plural
		elseif unitByQid[QID].singular then
			-- no plural, but a singular exists, so add 's':
			return unitByQid[QID].singular .. 's'
		end
	else
		return "plural not known"
	end
end

p.conv = function(frame)
	local QID = mw.text.trim(frame.args[1] or "")
	if QID and unitByQid[QID] then
		return unitByQid[QID].convertcode
	else
		return "convert code not known"
	end
end

return p