Module:Iboks

local math_mod = require( "Module:Math" ) local WikidataReferanse = require( 'Module:WikidataReferanse' ) local WikidataBilde = require( 'Module:WikidataBilde' )

local p = {}

function formatRad(tittel,value) return string.format(					%s 			 %s 	, tittel, value) end

function p._formatUrl(url) local reftext = url local j1 = string.find(reftext,'//',1,true) if j1 then reftext = string.sub(reftext,j1+2,string.len(reftext)) else reftext = '' end if reftext ~= '' then local i1 = string.find(reftext,'/',1,true) if i1 then reftext = string.sub(reftext,1,i1-1) end else reftext = url end return "[" .. url .. " " .. reftext .. "]" end

function getBestStatements(pid,entity) if not pid then return nil end if not entity then return nil end local prop = entity:getBestStatements(pid) if not prop then return nil end if not prop[1] then return nil end if not prop[1].mainsnak then return nil end return prop[1] end

function p.singleValue(tittel,qid,pid,entity) local prop1 = getBestStatements(pid,entity) if not prop1 then return "" end value = mw.wikibase.formatValue(prop1.mainsnak) if value and value ~= "" then local quals = prop1.qualifiers local qual = nil if quals then qual = quals[1] or nil end local refs = prop1.references --		value = value .. lagReferanser(refs) return formatRad(tittel,value) end return "" end

function p._formatNumber(verdi) if not verdi then return "" end local num = mw.getContentLanguage:parseFormattedNumber(verdi) if num then return mw.getContentLanguage:formatNum(num) end return verdi end function p.formatVerdi(tittel,verdi,enhet,referanser) local value = "" local num = mw.getContentLanguage:parseFormattedNumber(verdi) if num then value = mw.getContentLanguage:formatNum(num) .. " " .. enhet .. referanser else value = verdi.. " " .. enhet .. referanser end return formatRad(tittel,value) end

function lokalVerdiRad(tittel, verdi, enhet, referanser) if verdi == "uten" then return "" end local enhettxt = "" local reftxt = "" if enhet then enhettxt = enhet end if referanser then reftxt = referanser end return p.formatVerdi(tittel, verdi, enhettxt, reftxt) end

function p._verdiRad(tittel, verdi, enhet, ref, pid, qid) if verdi and verdi ~= "" then return lokalVerdiRad(tittel, verdi, enhet, ref) end local entity = mw.wikibase.getEntity(qid) return p.singleValue(tittel,qid,pid,entity) end

function p.verdiRad(frame) local args = frame.args or nil if not args then return "" end local verdi = args["verdi"] or nil local enhet = args["enhet"] or nil local ref = args["ref"] or nil local tittel = args["tittel"] or nil local pid = args["pid"] or nil local qid = args["qid"] or nil return p._verdiRad(tittel, verdi, enhet, ref, pid, qid) end

function p.formatNumber(frame) local args = frame.args or nil if not args then return "" end local verdi = args[1] or args["verdi"] or nil return p._formatNumber(verdi) end

function p.formatUrl(frame) local args = frame.args or nil if not args then return "" end local url = args[1] or args["url"] or nil return p._formatUrl(url) end return p