Documentation[voir] [modifier] [historique] [purger]

Ce module permet l'extraction d'une adresse depuis Wikidata et sa mise en forme.

Utilisation

modifier

Fonctions exportables

modifier
  • streetAddress(item, area) – Met en forme l'adresse partielle avec le numéro de rue et la rue ;
  • adminDivList(item, country) – Retourne la liste des subdivisions territoriales (commune, départements, cantons,… ) du pays en paramètre selon les données entrées dans Module:Adresse/Formats ;
  • cityLine(item, country, divlist, postcode) – Met en forme l'adresse partielle avec le nom de la ville, les noms des subdivisions territoriales et le code postal ;
  • fullAddress(item, country, divs, streetstr, divstr, showcountry, postcode) – Met en forme l'adresse complète contenant numéro de rue, nom de rue, nom de la ville, noms des subdivisions territoriales, code postal et nom du pays et ajoute la catégorie Catégorie:Page utilisant une adresse fournie par Wikidata ;
  • wikidataAddress(item, country) – Reprend l'adresse de rue issue de streetAddress et y ajoute la catégorie Catégorie:Page utilisant une adresse fournie par Wikidata.

Modules externes et autres éléments dont ce module a besoin pour fonctionner

modifier
  • mw.ustring.gsub – Remplace toutes les occurrences d'un motif dans une chaîne de caractères par une chaîne de remplacement ;
  • mw.text.listToText – Joint les éléments d'une liste pour former une chaîne de caractères ;
  • mw.text.trim – Enlève les espaces et autres caractères au début et à la fin d'une chaine de caractères ;
  • Module:Wikidata – Module contenant des fonctions de récupération des données depuis Wikidata ;
  • Module:Linguistique – Module contenant des fonctions de mise en forme et d'analyse basique d'une chaîne de caractères ;
  • Module:Country data – Module de mise en forme des noms de lieux et des nationalités.

Module en sous-page

modifier

Modules lua utilisant ce module

modifier

Modèles appelant directement ce module

modifier

Aucun

Exemples

modifier
local tableMaker = require "Module:Fabricant de tables"
local linguistic = require "Module:Linguistique"
local wikidata = require "Module:Wikidata"
local current = require "Module:Adresse"
local sandbox = require "Module:Adresse/Bac à sable"
local p = {}

function p.fullAddress(frame)
	local ids = {
		'Q4055', -- château de Blois (cas normal français)
		'Q1503331', -- obélisque de la Concorde (Paris)
		'Q9202', -- statue de la liberté
		'Q35525', -- Maison blanche
		'Q44440', -- Golden Gate Bridge
		'Q134883', -- Tour CN, Toronto
		'Q1151208', -- Hôtel de ville de Montréal
		'Q2658084', -- cetnre commercial en Finlande (pays non géré)
	}
	local results = tableMaker:new()
	results:addHeaders{'élément', 'rendu actuel', 'rendu sandbox'}
	for i, id in pairs(ids) do
		local idstr = wikidata.formatEntity(id) .. linguistic.inparentheses('<small>[[:d:' .. id .. '|' .. id .. ']]</small>')

		local work, result = pcall(current.fullAddress, id)
		local willwork, nextresult = pcall(sandbox.fullAddress, id)
		results:addRow{idstr, result, nextresult}
	end
	return results:show()
end

function p.findDiv(frame)

	local tests = {
		{'Q4055', 'Q6465'}, -- château de Blois, département
		{'Q4055', 'Q20741046'}, -- château de Bloi, NUTS1
		{'Q4055', 'Q6465'}, -- château de Blois, état américain
	}
	local results = tableMaker:new()
	results:addHeaders{'élément', 'division', 'rendu actuel', 'rendu sandbox'}
	for i, args in pairs(tests) do
		local location = wikidata.formatEntity(args[1]) .. linguistic.inparentheses('<small>[[:d:' .. args[1] .. '|' .. args[1] .. ']]</small>')
		local admindiv = wikidata.formatEntity(args[2]) .. linguistic.inparentheses('<small>[[:d:' .. args[2] .. '|' .. args[2] .. ']]</small>')
		local work, result = pcall(current.findDiv, args[1], args[2])
		local willwork, nextresult = pcall(sandbox.findDiv, args[1], args[2])
		results:addRow{location, admindiv, result, nextresult}
	end
	return results:show()
end

return p