Toggle search
Search
Toggle menu
notifications
Toggle personal menu
Editing
Module:Wikibase
From Dive Atlas
Views
Read
Edit
View history
associated-pages
Module
Discussion
More actions
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
-- Module:Wikibase function 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.id end -- 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 item function 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[0]~=nil and coords[1]==nil then return coords[0].mainsnak.datavalue.value[typ] end end return '' end -- Returns the most updated info from a series of statements function 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 id end -- 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[0]~=nil and cat[1]==nil and cat[0].mainsnak.datavalue.value~=nil then return 'Category:'..(cat[0].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 -- GET FLAG -- P41 thumb image function p.flag(frame) -- if frame.args[1]~=nil and frame.args[1]~='' then -- return frame.args[1] -- end -- local title="" - not using title local arg1 = frame.args[1] local item = mw.wikibase.getEntityObject(arg1) if item == nil then return end local flag = updated(item,'P41',frame) -- local title = mw.wikibase.sitelink(arg1) if flag ~= nil and flag ~= '' then return flag -- return "[[File:" .. flag .. "| thumb | 200px | " .. title .. "]]" end end -- Restituisce l'etichetta dell'elemento rappresentante la bandiera relativa all'elemento dell'articolo function 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[0]~=nil and claims.P163[1]==nil then return mw.wikibase.label('Q'..claims.P163[0].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 then local desc = item.descriptions.en if desc~=nil and desc.value~=nil and desc.value:lower():find('disambiguation page')~=nil then return true end end return false end function p.instanceof(arg) arg = tonumber(arg.args[1] or arg) if item and item.claims and item.claims.P31 then local claims = item.claims.P31 for index, claim in pairs(claims) do if claim.mainsnak and claim.mainsnak.datavalue then local val = claim.mainsnak.datavalue.value if val and val['numeric-id'] and arg == val['numeric-id'] then return true end end end end return false end return p
Summary:
Please note that all contributions to Dive Atlas may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Meta:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Template used on this page:
Module:Wikibase/doc
(
edit
)