Module:Wikibase

Documentatie voor deze module kan aangemaakt worden op de volgende pagina: Module:Wikibase/doc

-- Module:Wikibasefunction getId( id )    if not mw.wikibase then           return "wikibase module not found"    end     if id then return id end     entity = mw.wikibase.getEntityObject()    if not entity then return nil end    return entity.idend -- Returns the link corresponding to the code provided.function sitelink(dbname)    if dbname==nil or dbname=='' then        return ''    end    local sl = mw.wikibase.getEntityObject()    if sl and sl.sitelinks[dbname] then        return sl.sitelinks[dbname].title    end    return ''end -- Returns the corresponding geographical coordinates of the itemfunction coords(typ,fallback)    if fallback~=nil and fallback~='' and string.match(fallback, '^<%!%-%-.*%-%->$')==nil then        return fallback    end    local item = mw.wikibase.getEntityObject()    if item~=nil and item.claims~=nil then        local coords = item.claims.P625        if coords~=nil and coords[1]~=nil and coords[2]==nil then            return coords[1].mainsnak.datavalue.value[typ]        end    end    return ''end -- Returns the most updated info from a series of statementsfunction updated(item,prop,frame)    if item~=nil then        local claims = item.claims        if claims~=nil and claims[prop]~=nil then            for index,claim in pairs(claims[prop]) do                local qual = claim.qualifiers                if qual==nil or qual.P582==nil then                    -- p582 è la data di fine, significa che non è il valore attuale                    local val = claim.mainsnak.datavalue.value                    if val['numeric-id']~=nil then                        local id = 'Q'..val['numeric-id']                        local sl = mw.wikibase.sitelink(id)                        local lb = mw.wikibase.label(id)                        if sl~=nil and sl~='' then                            return frame:preprocess('[['..sl..'|'..lb..']]')                        end                        return lb                    end                    return val                end            end        end    end    return ''end local p = {} -- Returns the ID number of the data item linked to the current page.function p.id(frame)    id = getId(frame.args[1])    if id == nil then           return "(no element found)"    end    return idend  -- Returns the ID number of the data item linked to the current page in the form of a link to Wikidata.function p.idLink(frame)    id = getId(frame.args[1])    if id == nil then           return "(no element found)"    end    return "[[d:" .. id .. "|" .. string.upper(id) .. "]]"end  -- Returns the label of the data item.function p.label(frame)    id = getId(frame.args[1])    if id == nil then           return "(no element found)"    end    return mw.wikibase.label( id )end -- Returns the local page of the data item provided.function p.page(frame)    id = getId(frame.args[1])    if id == nil then           return "(no element found)"    end    return mw.wikibase.sitelink( id )end -- Returns the link corresponding to the code provided.function p.sitelink(frame)    return sitelink(frame.args.dbname or frame.args[1])end -- Returns the corresponding link to Wikipedia in English.function p.enwikilink(frame)    if frame.args[1]~=nil and frame.args[1]~='' then        return frame.args[1]    end    local sl = sitelink('enwiki')    if sl~=nil and sl~='' then        return sl    end    local t = mw.title.getCurrentTitle().text    if t~=nil and t~='' then        return t    end    return ''end -- Returns the Commons category of the data item.function p.commonslink(frame)    if frame.args[1]~=nil and frame.args[1]~='' then        return 'Category:'..frame.args[1]    end    local item = mw.wikibase.getEntityObject()    if item~=nil and item.claims~=nil then        local cat = item.claims.P373        if cat~=nil and cat[1]~=nil and cat[2]==nil and cat[1].mainsnak.datavalue.value~=nil then            return 'Category:'..(cat[1].mainsnak.datavalue.value)        end    end    local t = mw.title.getCurrentTitle().text    if t~=nil and t~='' then        return 'Category:'..t    end    return ''end -- Returns the name of the capital or main city.function p.capital(frame)    if frame.args[1]~=nil and frame.args[1]~='' then        return frame.args[1]    end    local item = mw.wikibase.getEntityObject()    return updated(item,'P36',frame)end function p.capoluogo(frame)    return p.capital(frame)end function p.valuta(frame)    if frame.args[1]~=nil and frame.args[1]~='' then        return frame.args[1]    end    local item = mw.wikibase.getEntityObject()    return updated(item,'P38',frame)end function p.flag(frame)    if frame.args[1]~=nil and frame.args[1]~='' then        return frame.args[1]    end    local item = mw.wikibase.getEntityObject()    return updated(item,'P41',frame)end -- Restituisce l'etichetta dell'elemento rappresentante la bandiera relativa all'elemento dell'articolofunction p.bandiera_titolo(frame)    local item = mw.wikibase.getEntityObject()    if item~=nil then        local claims = item.claims        if claims~=nil and claims.P163~=nil and claims.P163[1]~=nil and claims.P163[2]==nil then            return mw.wikibase.label('Q'..claims.P163[1].mainsnak.datavalue.value['numeric-id'])        end    end    return mw.title.getCurrentTitle().text..' - Bandiera'end -- Restituisce la latitudine corrispondente all'articolo.function p.latitude(frame)    return coords('latitude',frame.args[1])end -- Restituisce la longitudine corrispondente all'articolo.function p.longitude(frame)    return coords('longitude',frame.args[1])end function p.disambig(frame)local item = mw.wikibase.getEntityObject()if item~=nil and item.descriptions~=nil thenlocal desc = item.descriptions.enif desc~=nil and desc.value~=nil and desc.value:lower():find('disambiguation page')~=nil thenreturn trueendendreturn falseend return p