« Module:Wikidata/Outils » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
| Ligne 47 : | Ligne 47 : | ||
end | end | ||
function p.getEntity( val ) | |||
if type(val) == 'table' then | |||
return val | |||
end | |||
return mw.wikibase.getEntityObject(val) | |||
end | |||
function p.alreadyHere(searchset, val) | function p.alreadyHere(searchset, val) | ||
Version du 27 août 2015 à 08:26
--Fonctions élémentaires de gestion des snaks Wikidata local p = {} p.i18n = require "Module:Wikidata/I18n"
function p.snaktype(snak) return snak.snaktype end
function p.isSpecial(snak) return (snak.snaktype ~= 'value') end
function p.isValue(snak) return (snak.snaktype == 'value') end
function p.getId(snak) if p.isValue(snak) then return 'Q' .. snak.datavalue.value['numeric-id'] end end
function p.getMainId(claim) return p.getId(claim.mainsnak) end
function p.EntityId(entity) if type(entity) == 'string' then return entity end return entity.id end
function p.getValue(snak) return snak.datavalue.value end
function p.formatError( key )
return error(i18n[key] or key)
end
function p.addcat(cat, sortkey) if sortkey then return end return end
function p.getEntity( val ) if type(val) == 'table' then return val end return mw.wikibase.getEntityObject(val) end
function p.alreadyHere(searchset, val) for i, j in pairs(searchset) do if val == j then return true end end return false end
-- add new values to a list, avoiding duplicates function p.addnewvalues(old, new) if not new then return old end for _, j in pairs(new) do if not alreadyHere(old, j) then table.insert(j, j) end end return j end
return p