Aller au contenu

Module:Infobox/Fromage

Une page de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 6 mars 2015 à 00:24 et modifiée en dernier par Zolo (discuter | contributions) (enlève le "à partir de" dans la date aoc (même format concis que pour le classmeent monument historique) et puis je dis n'importe koi en pdd, c'est bien comme poulpy fait, sans "localdata"). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.

 Documentation[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.


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',
			wikidata = function(item)
				local label = item:getLabel('fr')
				return label:gsub("^%l", string.upper)
			end
		},
		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		= 'Fabricant',
					value		= 'fabricant',
					property	= 'P176'
				},
				{
					type		= 'mixed',
					label		= 'Lait',
					value		= 'lait',
					wikidata	= function(item)
						local val = wikidata._formatAndCat({item=item, property= 'P186', qualifiervalue = {'Q8495'}, qualifier = 'P518'})
						-- récupère la propriété P186 (matériau) seulement si elle a le qualificatif "s'applique à la partie : lait"
						if val then -- retire "lait de" du libellé, un peu lourd
							return mw.ustring.gsub(val, "\|lait de", "\|")
						end
						end
				},
				{
					type		= 'mixed',
					label		= 'Pâte',
					value		= 'pâte',
					wikidata    = function(item)
						-- Pour déterminer le type de pâte du fromage sur Wikidata, récupération des valeurs éventuelles
						-- de la propriété P279 ("sous-classe de") dont le label contiennent "pâte"
						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
									statement = mw.ustring.gsub(statement, "\|fromage à pâte ", "\|")
									table.insert(paste_list, statement)
								end
							end
						end
						if #paste_list > 0 then
								return mw.text.listToText(paste_list, "<br />", "<br />")
						end
						return false
					end
				},
				{
					type		= 'mixed',
					label		= 'Appellation',
					value		= 'aoc',
					wikidata 	= wikidata.formatAndCat{item = item, property = 'P1389', showdate=true, conjtype = '<br />', textformat = 'minimum'}
						-- P1389 ("certificat de produit")

				}
			}
		}
	}
}