Module:Adresse/Test
[voir] [modifier] [historique] [purger]
Ce module permet l'extraction d'une adresse depuis Wikidata et sa mise en forme.
Utilisation
modifierFonctions exportables
modifierstreetAddress(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égorieCatégorie:Page utilisant une adresse fournie par Wikidata
.
Modules externes et autres éléments dont ce module a besoin pour fonctionner
modifiermw.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
modifierModule:Adresse/Formats
– Table contenant les paramètres de mise en forme de l'adresse selon le pays.
Modules lua utilisant ce module
modifier- Module:Infobox/Fonctions/Bâtiment ;
- Module:Infobox/Fonctions/Centrale électrique ;
- Module:Infobox/Abbaye ;
- Module:Infobox/Centre commercial ;
- Module:Infobox/Centre de congrès ;
- Module:Infobox/Gratte-ciel ;
- Module:Infobox/Stade ;
- Module:Infobox/Temple bouddhiste.
Modèles appelant directement ce module
modifierAucun
Exemples
modifierLa documentation de ce module est générée par le modèle {{Documentation module}}.
Elle est incluse depuis sa sous-page de documentation. Veuillez placer les catégories sur cette page-là.
Les éditeurs peuvent travailler dans le bac à sable (modifier).
Voir les statistiques d'appel depuis le wikicode sur l'outil wstat et les appels depuis d'autres modules.
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