Module:Convert: Difference between revisions

From TEPwiki, Urth's Encyclopedia
Jump to navigation Jump to search
Content added Content deleted
No edit summary
No edit summary
Line 21: Line 21:
-- Single value supplied
-- Single value supplied
in_unit = args[2];
in_unit = args[2];
out_unit = args[4];
out_unit = args[3];
if in_unit .. "|" .. out_unit == "°C|°F" then
if in_unit .. "|" .. out_unit == "°C|°F" then
out1 = val1 * 9 / 5 + 32;
out1 = val1 * 9 / 5 + 32;

Revision as of 13:14, 2 September 2012

Documentation for this module may be created at Module:Convert/doc

--require "mw.text"
--require "mw.page"

local p = {}

-- This is the top-level function called by {{convert}}.
function p.main(frame, config, args)
    local pframe = frame:getParent();
    local args = pframe.args; -- the arguments passed TO the {{convert}} template, in the wikitext that instantiates the template
    local config = frame.args; -- the arguments passed BY the {{convert}} template, in the wikitext of the template itself
    local output;
    
    val1 = tonumber(args[1]);
    val2 = tonumber(args[3]);
    if val1 == nil then
        error ("Module:Convert value not supplied");
        return ""
    end

    if val2 == nil then
        -- Single value supplied
        in_unit  = args[2];
        out_unit = args[3];
        if in_unit .. "|" .. out_unit == "°C|°F" then
            out1 = val1 * 9 / 5 + 32;
        elseif in_unit .. out_unit == "" then
            out1 = 1;
        elseif in_unit .. out_unit == "" then
            out1 = 1;
        end
        
        output = val1 .. " " .. in_unit .. " (" .. out1 .. " " .. out_unit .. ")"
    else
        -- Two values supplied
        range    = args[2];
        in_unit  = args[4];
        out_unit = args[5];
    end
    
    --error ("Module:Convert is not implemented");
    return output    
end

return p