Naar inhoud springen

Module:ResolveEntityId

Uit Wikipedia, de vrije encyclopedie
Moduledocumentatie​[bekijk] [bewerk] [ververs] [geschiedenis]

localp={}

functionp._id(idOrTitle,alt)
localfunctioncheckId(id)
ifidandmw.wikibase.entityExists(id)then
localsitelink=mw.wikibase.getSitelink(id)
ifsitelinkthen
returnmw.wikibase.getEntityIdForTitle(sitelink)ormw.wikibase.getEntity(id).id
end
returnmw.wikibase.getEntity(id).id
else
returnalt
end
end

iftype(idOrTitle)=='string'then
idOrTitle=mw.ustring.upper(mw.ustring.sub(idOrTitle,1,1))..mw.ustring.sub(idOrTitle,2)
ifmw.wikibase.isValidEntityId(idOrTitle)then
-- idOrTitle is in the proper format for a Wikidata entity ID
returncheckId(idOrTitle)
else
localeid=mw.wikibase.getEntityIdForTitle(idOrTitle)
ifeidthen
-- idOrTitle is a title that matches a Wikidata entity
localinstanceOf=mw.wikibase.getBestStatements(eid,'P31')[1]--instance of
ifnotinstanceOforinstanceOf.mainsnak.datavalue.value.id~='Q4167410'then
-- instance-of value is missing or is not "disambiguation"
returncheckId(eid)
end
else
-- idOrTitle is a title, but no wikidata item exists for that title
localpage=mw.title.new(idOrTitle)
ifpagethen-- valid title
localrtarget=page.redirectTarget
ifrtargetthen-- title is a Wikipedia redirect
returnp._id(rtarget.fullText,alt)
end
end
end
end
end
returnalt
end

functionp.entityid(frame)
returnp._id(frame.args[1],frame.args[2])
end

returnp