Module:Sandbox/Ahecht/Cite DNV

local p = {} local htmlerror = require('Module:Error').error

function p.citednv(frame) local origArgs = frame:getParent.args local args = {} local success=true local register="DNV" local outstr = "" for k, v in pairs(origArgs) do		args[k] = v	end url, vesselid = string.match(string.lower(args['url'] or ''),'//exchange.dnv.com/exchange/main.aspx?(.*)vesselid=(g?%d%d%d%d%d%d?)') vesselid = (vesselid or string.lower(((args['id'] or args['ID']) or args['vesselid']) or '') ) if vesselid == '' then success=false elseif not tonumber(vesselid) then vesselid = string.upper(vesselid) register = "GL" elseif tonumber(vesselid) > 99999 then vesselid = "G"..vesselid register = "GL" end

shipname = ((string.match((args['title'] or ),'\'\'(.-)\'\) or args['title']) or (args['shipname'] or args['name'])) or '' if shipname == '' then success=false end if success then return '' else outstr = args['url'] and '{{cite web' or '{{cite DNV' for k, v in pairs(origArgs) do			outstr = outstr..' | '..k..'='..v		end outstr = outstr..'}}'..(args['url'] and '' or htmlerror{'Error in Template:Cite DNV: Invalid parameters.'}) return outstr end end

return p