Aller au contenu

Module:Sandbox/test

Une page de Wikipédia, l'encyclopédie libre.

 Documentation[créer] [purger]
--[[local localdata = require "Module:Infobox/Localdata" 
local wikidata = require "Module:Wikidata"
local linguistic = require "Module:Linguistique"

-- localdata.latitude = "0"    -- chaîne ou nombre
-- localdata.longitude = "0"

return {
	maincolor = '#DB408D',
	parts = {
		cheese.title(),
		cheese.mainimage('Article à illustrer Fromage'),
		{
		type = 'table',
		  rows = {
		    { type = 'row', label = nil, value = 'Carte de la zone' }
		  }
		},
		cheese.geoloc(),
		{
			type = 'table',
			rows = {
				{ type = 'row', label = 'Pays d’origine', value = 'pays', property = 'P495' },
				{ type = 'row', label = 'Région', value = 'lieu', property = 'P1071' },
				{ type = 'row', label = 'Affineurs', value = 'affineurs' }
			}
		}
	}
}]]
local cheese = require "Module:Infobox/Fonctions"
local wikidata = require "Module:Wikidata"
local linguistic = require "Module:Linguistique"

return {
	maincolor = '#FFFF77',
	parts = {
		cheese.title(),
    {
	type = 'images',
	imageparameters =  'image',   -- l'image est définie ici par le paramètre "image",
	captionparameter = 'légende', -- la légende est définie par le paramètre "légende",
    defaultimage = 'foo.jpg',     -- quand il n'y a pas d'image, monter "foo.jpg",               -- 1 image au maximum (utile essentiellement pour les requêtes Wikidata)
    },
		{
			type	= 'table',
			rows	= {
				{
					type		= 'row',
					label		= 'Pays d’origine',
					value		= 'pays',
					property	= 'P495'
				},
				{
					type		= 'row',
					label		= 'Région',
					value		= 'lieu',
					property	= 'P1071'
				},
				{
					type		= 'row',
					label		= 'Fabricant',
					value		= 'fabricant',
					property	= 'P176'
				},
				{
					type		= 'row',
					label		= 'Lait',
					value		= 'lait',
					wikidata	= {
						property = 'P186', -- récupère la propriété P186 (matériau) 
						qualifier = 'P518', -- seulement si elle a le qualificatif "s'applique à la partie"
						qualifiervalue = {'Q8495'}, -- et que cette partie est le lait"
						labelformat = function(id) -- enlève "lait" du libellé, un peu lourd
							local label = mw.wikibase.label(id)
							return linguistic.keepcomplement(label, "lait")
							end
						}
				},
				{
					type		= 'row',
					label		= 'Pâte',
					value		= 'pâte',
					wikidata    = {
						property = 'P279',
						condition = function(claim) -- n'accepte que les valeurs de P279 ("sous-classe" de) qui contiennent le mot "pâte"
							local str = wikidata.formatStatement(claim)
							if string.match(str:lower(), "pâte") then
								return true
							end
						end,
						labelformat2 = function(label) -- enlève "fromage à pâte de l'affichage
							return mw.ustring.gsub(linguistic.lcfirst(label), "fromage à pâte ", "")
						end,
						ucfirst = '-'
						}
				},
				{
					type		= 'row',
					label		= 'Appellation',
					value		= 'aoc',
					wikidata 	= {property = 'P1389', showdate = true, conjtype = '<br />', textformat = 'minimum'}
						-- P1389 ("certificat de produit")
				},
				{
					type		= 'row',
					label		= 'Nommé en référence à',
					value		= 'nommé selon',
				        property	= 'P138'
				},
				{
					type		= 'row',
					label		= 'Volume commercialisé',
					value		= 'quantité',
					wikidata 	= {property = 'P1092', showdate = true, rank = 'best', conjtype = '<br />', textformat = 'minimum'}
				},
				{
					type		= 'row',
					label		= 'Aire test',
					value		= 's',
					wikidata 	= {property = 'P2046', showdate = true, conjtype = '<br />', textformat = 'minimum'}
				},
				{
					type		= 'row',
					label		= 'Transformateurs',
					value		= 'transformateurs', -- remplissage manuel en attendant que Wikidata le gère
				},
				{
					type		= 'row',
					label		= 'Affineurs',
					value		= 'affineurs', -- remplissage manuel en attendant que Wikidata le gère
				}
			}
		}
	}
}