Module:Infobox/Fromage
Apparence
[voir] [modifier] [historique] [purger]
Cette page définit un module d'infobox. Pour les conseils sur l'usage de ce module, voyez Modèle:Infobox Fromage.
La documentation de ce module est générée par le modèle {{Documentation module}}.
Elle est incluse depuis la page Modèle:Documentation module d'infobox. Veuillez placer les catégories sur cette page-là.
Les éditeurs peuvent travailler dans le bac à sable (créer).
Voir les statistiques d'appel depuis le wikicode sur l'outil wstat et les appels depuis d'autres modules.
local cheese = require "Module:Infobox/Fonctions"
local wikidata = require "Module:Wikidata"
local dates = require "Module:Wikidata/Dates"
return {
maincolor = '#FFFF77',
parts = {
{
type = 'title',
value = 'nom'
},
cheese.mainimage(),
{
type = 'table',
rows = {
{
type = 'mixed',
label = 'Pays d\'origine',
value = 'pays',
property = 'P495'
},
{
type = 'mixed',
label = 'Région',
value = 'lieu',
property = 'P1071'
},
{
type = 'mixed',
label = 'Lait',
value = 'lait',
wikidata = function(item)
-- S'il faut lire wikidata pour la valeur du lait :
-- 1) récupération des valeurs de la propriété P186 ("matériau")
-- 2) pour chacune de ces valeurs, récupération des qualificateurs P518 ("s'applique à")
-- 3) si l'un de ces qualificateurs est Q8495 ("lait"), prendre en compte la valeur qu'il qualifie
-- 4) mettre en forme les valeurs sélectionnées
local milk_list = {}
local claims = wikidata.getClaims({item = item, property = 'P186'})
if claims then
for claim_key, claim_value in pairs(claims) do
if not claim_value.qualifiers then break end
if (claim_value.qualifiers['P518']) then
for qualifier_key, qualifier_value in pairs(claim_value.qualifiers['P518']) do
if qualifier_value.datavalue.value['numeric-id'] == 8495 then
table.insert(milk_list, wikidata.formatStatement(claim_value))
end
end
end
end
return mw.text.listToText(milk_list)
else
return false
end
end
},
{
type = 'mixed',
label = 'Pâte',
value = 'pâte',
wikidata = function(item)
local paste_list = {}
local claims = wikidata.getClaims({item = item, property = 'P279'})
if claims then
for claim_key, claim_value in pairs(claims) do
statement = wikidata.formatStatement(claim_value)
if string.match(statement:lower(), "pâte") then
table.insert(paste_list, statement)
end
end
return mw.text.listToText(paste_list, "<br />", "<br />")
else
return false
end
end
},
{
type = 'mixed',
label = 'Appellation',
value = 'aoc',
wikidata = function(item)
-- Sur Wikidata, récupération des valeurs de la propriété P1389 ("certificat de produit")
-- avec le cas échéant les dates entre parenthèses
local aoc_list = {}
local claims = wikidata.getClaims({item = item, property = 'P1389'})
if claims then
for claim_key, claim_value in pairs(claims) do
table.insert(aoc_list, wikidata.formatStatement(claim_value, {showdate = true}))
end
return mw.text.listToText(aoc_list, "<br />", "<br />")
else
return false
end
end
}
}
}
}
}