Module:Classification ReptileDB
Apparence
[voir] [modifier] [historique] [purger]
Ce module est destiné à des pages de maintenance du projet Herpétologie.
Utilisation
acces(frame)
Détails et fonctions internes
p.levenshtein(mot1, mot2)
– retourne la distance de Levenshtein entre deux mots. 0 signifie identique. La valeur la plus grande qui peut être retournée est la longueur de la plus grande des deux chaînes.
Exemples
Pour des exemples, voir le bac à sable permettant de tester diverses modifications apportées.
La 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 (créer).
Voir les statistiques d'appel depuis le wikicode sur l'outil wstat et les appels depuis d'autres modules.
-- ce module est un test : il est destiné à contenir sous forme exploitable
-- la classification supérieure (>= famille) des reptiles.
local p = {}
-- utile : contient les noms wikifiés des rangs et les formes wikifiées des classifications
local data = require "Module:Taxobox-data"
-- structure des informations :
-- une liste de taxons (définit par son nom), chaque taxon étant un élément de la table (clé=nom)
-- chaque taxon contient :
-- [1] : le rang du taxon
-- [2] : une liste de noms synonymes ou nil
-- [3] : le nom du taxon supérieur
-- [4] : un champs commentaire
local taxons = {}
taxons["Anapsida"] = { "sous-classe", nil, "Sauropsida", "", "Anapsida" }
taxons["Testudines"] = { "ordre", nil, "Anapsida", "", "Testudines" }
taxons["Cryptodira"] = { "sous-ordre", nil, "Testudines", "", "Cryptodira" }
taxons["Chelydridae"] = { "famille", nil, "Cryptodira", "", "Chelydridae" }
taxons["Testudinoidea"] = { "super-famille", nil, "Cryptodira", "", "Testudinoidea" }
taxons["Emydidae"] = { "famille", nil, "Testudinoidea", "", "Emydidae" }
taxons["Testudinidae"] = { "famille", nil, "Testudinoidea", "", "Testudinidae" }
taxons["Geoemydidae"] = { "famille", nil, "Testudinoidea", "", "Geoemydidae" }
taxons["Platysternidae"] = { "famille", nil, "Testudinoidea", "", "Platysternidae" }
taxons["Trionychoidea"] = { "super-famille", nil, "Cryptodira", "", "Trionychoidea" }
taxons["Carettochelyidae"] = { "famille", nil, "Trionychoidea", "", "Carettochelyidae" }
taxons["Trionychidae"] = { "famille", nil, "Trionychoidea", "", "Trionychidae" }
taxons["Kinosternoidea"] = { "super-famille", nil, "Cryptodira", "", "Kinosternoidea" }
taxons["Dermatemydidae"] = { "famille", nil, "Kinosternoidea", "", "Dermatemydidae" }
taxons["Kinosternidae"] = { "famille", nil, "Kinosternoidea", "", "Kinosternidae" }
taxons["Chelonioidea"] = { "super-famille", nil, "Cryptodira", "", "Chelonioidea" }
taxons["Cheloniidae"] = { "famille", nil, "Chelonioidea", "", "Cheloniidae" }
taxons["Dermochelyidae"] = { "famille", nil, "Chelonioidea", "", "Dermochelyidae" }
taxons["Pleurodira"] = { "sous-ordre", nil, "Testudines", "", "Pleurodira" }
taxons["Chelidae"] = { "famille", nil, "Pleurodira", "", "Chelidae" }
taxons["Pelomedusoidea"] = { "super-famille", nil, "Pleurodira", "", "Pelomedusoidea" }
taxons["Pelomedusidae"] = { "famille", nil, "Pelomedusoidea", "", "Pelomedusidae" }
taxons["Podocnemididae"] = { "famille", nil, "Pelomedusoidea", "", "Podocnemididae" }
taxons["Lepidosauria"] = { "sous-classe", nil, "Sauropsida", "", "Lepidosauria" }
taxons["Rhynchocephalia"] = { "ordre", nil, "Lepidosauria", "", "Rhynchocephalia" }
taxons["Sphenodontida"] = { "sous-ordre", nil, "Rhynchocephalia", "", "Sphenodontida" }
taxons["Sphenodontidae"] = { "famille", nil, "Sphenodontida", "", "Sphenodontidae" }
taxons["Squamata"] = { "ordre", nil, "Lepidosauria", "", "Squamata" }
taxons["Sauria"] = { "sous-ordre", { "Lacertilia" }, "Squamata", "", "Sauria" }
taxons["Iguania"] = { "infra-ordre", nil, "Sauria", "", "Iguania" }
taxons["Agamidae"] = { "famille", nil, "Iguania", "", "Agamidae" }
taxons["Chamaeleonidae"] = { "famille", nil, "Iguania", "", "Chamaeleonidae" }
taxons["Iguanidae"] = { "super-famille", nil, "Iguania", "", "Iguanidae" }
taxons["Corytophanidae"] = { "famille", nil, "Iguanidae", "", "Corytophanidae" }
taxons["Crotaphytidae"] = { "famille", nil, "Iguanidae", "", "Crotaphytidae" }
taxons["Dactyloidae"] = { "famille", nil, "Iguanidae", "", "Dactyloidae" }
taxons["Hoplocercidae"] = { "famille", nil, "Iguanidae", "", "Hoplocercidae" }
taxons["Iguanidae"] = { "famille", nil, "Iguania", "", "Iguanidae" }
taxons["Leiocephalidae"] = { "famille", nil, "Iguanidae", "", "Leiocephalidae" }
taxons["Leiosauridae"] = { "famille", nil, "Iguanidae", "", "Leiosauridae" }
taxons["Liolaemidae"] = { "famille", nil, "Iguanidae", "", "Liolaemidae" }
taxons["Opluridae"] = { "famille", nil, "Iguanidae", "", "Opluridae" }
taxons["Phrynosomatidae"] = { "famille", nil, "Iguanidae", "", "Phrynosomatidae" }
taxons["Polychrotidae"] = { "famille", nil, "Iguanidae", "", "Polychrotidae" }
taxons["Tropiduridae"] = { "famille", nil, "Iguanidae", "", "Tropiduridae" }
taxons["Gekkota"] = { "infra-ordre", nil, "Sauria", "", "Gekkota" }
taxons["Gekkonidae"] = { "famille", nil, "Gekkota", "", "Gekkonidae" }
taxons["Carphodactylidae"] = { "famille", nil, "Gekkota", "", "Carphodactylidae" }
taxons["Diplodactylidae"] = { "famille", nil, "Gekkota", "", "Diplodactylidae" }
taxons["Eublepharidae"] = { "famille", nil, "Gekkota", "", "Eublepharidae" }
taxons["Phyllodactylidae"] = { "famille", nil, "Gekkota", "", "Phyllodactylidae" }
taxons["Sphaerodactylidae"] = { "famille", nil, "Gekkota", "", "Sphaerodactylidae" }
taxons["Pygopodidae"] = { "famille", nil, "Gekkota", "", "Pygopodidae" }
taxons["Scincomorpha"] = { "infra-ordre", nil, "Sauria", "", "Scincomorpha" }
taxons["Cordylidae"] = { "famille", nil, "Scincomorpha", "", "Cordylidae" }
taxons["Gerrhosauridae"] = { "famille", nil, "Scincomorpha", "", "Gerrhosauridae" }
taxons["Gymnophthalmidae"] = { "famille", nil, "Scincomorpha", "", "Gymnophthalmidae" }
taxons["Teiidae"] = { "famille", nil, "Scincomorpha", "", "Teiidae" }
taxons["Lacertidae"] = { "famille", nil, "Scincomorpha", "", "Lacertidae" }
taxons["Scincidae"] = { "famille", nil, "Scincomorpha", "", "Scincidae" }
taxons["Xantusiidae"] = { "famille", nil, "Scincomorpha", "", "Xantusiidae" }
taxons["Diploglossa"] = { "infra-ordre", nil, "Sauria", "", "Diploglossa" }
taxons["Anguidae"] = { "famille", nil, "Diploglossa", "", "Anguidae" }
taxons["Anniellidae"] = { "famille", nil, "Diploglossa", "", "Anniellidae" }
taxons["Xenosauridae"] = { "famille", nil, "Diploglossa", "", "Xenosauridae" }
taxons["Dibamia"] = { "infra-ordre", nil, "Sauria", "", "Dibamia" }
taxons["Dibamidae"] = { "famille", nil, "Dibamia", "", "Dibamidae" }
taxons["Platynota"] = { "infra-ordre", { "Varanoidea" }, "Sauria", "", "Platynota" }
taxons["Helodermatidae"] = { "famille", nil, "Platynota", "", "Helodermatidae" }
taxons["Lanthanotidae"] = { "famille", nil, "Platynota", "", "Lanthanotidae" }
taxons["Varanidae"] = { "famille", nil, "Platynota", "", "Varanidae" }
taxons["Shinisauroidea"] = { "super-famille", nil, "Platynota", "", "Shinisauroidea" }
taxons["Shinisauridae"] = { "famille", nil, "Shinisauroidea", "", "Shinisauridae" }
taxons["Amphisbaenia"] = { "sous-ordre", nil, "Squamata", "", "Amphisbaenia" }
taxons["Amphisbaenidae"] = { "famille", nil, "Amphisbaenia", "", "Amphisbaenidae" }
taxons["Bipedidae"] = { "famille", nil, "Amphisbaenia", "", "Bipedidae" }
taxons["Blanidae"] = { "famille", nil, "Amphisbaenia", "", "Blanidae" }
taxons["Cadeidae"] = { "famille", nil, "Amphisbaenia", "", "Cadeidae" }
taxons["Rhineuridae"] = { "famille", nil, "Amphisbaenia", "", "Rhineuridae" }
taxons["Trogonophiidae"] = { "famille", nil, "Amphisbaenia", "", "Trogonophiidae" }
taxons["Ophidia"] = { "sous-ordre", { "Serpentes" }, "Squamata", "", "Ophidia" }
taxons["Aniliidae"] = { "famille", nil, "Ophidia", "", "Aniliidae" }
taxons["Bolyeriidae"] = { "famille", nil, "Ophidia", "", "Bolyeriidae" }
taxons["Tropidophiidae"] = { "famille", nil, "Ophidia", "", "Tropidophiidae" }
taxons["Acrochordoidea"] = { "sous-famille", nil, "Tropidophiidae", "", "Acrochordoidea" }
taxons["Acrochordidae"] = { "famille", nil, "Ophidia", "", "Acrochordidae" }
taxons["Uropeltoidea"] = { "sous-famille", nil, "Acrochordidae", "", "Uropeltoidea" }
taxons["Anomochilidae"] = { "famille", nil, "Ophidia", "", "Anomochilidae" }
taxons["Cylindrophiidae"] = { "famille", nil, "Ophidia", "", "Cylindrophiidae" }
taxons["Uropeltidae"] = { "famille", nil, "Ophidia", "", "Uropeltidae" }
taxons["Pythonoidea"] = { "sous-famille", nil, "Uropeltidae", "", "Pythonoidea" }
taxons["Loxocemidae"] = { "famille", nil, "Ophidia", "", "Loxocemidae" }
taxons["Pythonidae"] = { "famille", nil, "Ophidia", "", "Pythonidae" }
taxons["Xenopeltidae"] = { "famille", nil, "Ophidia", "", "Xenopeltidae" }
taxons["Booidea"] = { "sous-famille", nil, "Xenopeltidae", "", "Booidea" }
taxons["Boidae"] = { "famille", nil, "Ophidia", "", "Boidae" }
taxons["Boinae"] = { "sous-famille", nil, "Boidae", "", "Boinae" }
taxons["Ungaliophiinae"] = { "sous-famille", nil, "Boidae", "", "Ungaliophiinae" }
taxons["Erycinae"] = { "sous-famille", nil, "Boidae", "", "Erycinae" }
taxons["Colubroidea"] = { "sous-famille", nil, "Boidae", "", "Colubroidea" }
taxons["Colubridae"] = { "famille", nil, "Ophidia", "", "Colubridae" }
taxons["Colubrinae"] = { "sous-famille", nil, "Colubridae", "", "Colubrinae" }
taxons["Grayiinae"] = { "sous-famille", nil, "Colubridae", "", "Grayiinae" }
taxons["Calamariinae"] = { "sous-famille", nil, "Colubridae", "", "Calamariinae" }
taxons["Dipsadinae"] = { "sous-famille", nil, "Colubridae", "", "Dipsadinae" }
taxons["Pseudoxenodontinae"] = { "sous-famille", nil, "Colubridae", "", "Pseudoxenodontinae" }
taxons["Natricinae"] = { "sous-famille", nil, "Colubridae", "", "Natricinae" }
taxons["Scaphiodontophiinae"] = { "sous-famille", nil, "Colubridae", "", "Scaphiodontophiinae" }
taxons["Lamprophiidae"] = { "famille", nil, "Ophidia", "", "Lamprophiidae" }
taxons["Aparallactinae"] = { "sous-famille", nil, "Lamprophiidae", "", "Aparallactinae" }
taxons["Atractaspidinae"] = { "sous-famille", nil, "Lamprophiidae", "", "Atractaspidinae" }
taxons["Lamprophiinae"] = { "sous-famille", nil, "Lamprophiidae", "", "Lamprophiinae" }
taxons["Psammophiinae"] = { "sous-famille", nil, "Lamprophiidae", "", "Psammophiinae" }
taxons["Prosymninae"] = { "sous-famille", nil, "Lamprophiidae", "", "Prosymninae" }
taxons["Pseudaspidinae"] = { "sous-famille", nil, "Lamprophiidae", "", "Pseudaspidinae" }
taxons["Pseudoxyrhophiinae"] = { "sous-famille", nil, "Lamprophiidae", "", "Pseudoxyrhophiinae" }
taxons["Elapidae"] = { "famille", nil, "Ophidia", "", "Elapidae" }
taxons["Elapoidea"] = { "sous-famille", nil, "Elapidae", "", "Elapoidea" }
taxons["Elapinae"] = { "sous-famille", nil, "Elapidae", "", "Elapinae" }
taxons["Hydrophiinae"] = { "sous-famille", nil, "Elapidae", "", "Hydrophiinae" }
taxons["Homalopsidae"] = { "famille", nil, "Ophidia", "", "Homalopsidae" }
taxons["Pareatidae"] = { "famille", nil, "Ophidia", "", "Pareatidae" }
taxons["Viperidae"] = { "famille", nil, "Ophidia", "", "Viperidae" }
taxons["Azemiopinae"] = { "sous-famille", nil, "Viperidae", "", "Azemiopinae" }
taxons["Crotalinae"] = { "sous-famille", nil, "Viperidae", "", "Crotalinae" }
taxons["Viperinae"] = { "sous-famille", nil, "Viperidae", "", "Viperinae" }
taxons["Xenodermatidae"] = { "famille", nil, "Ophidia", "", "Xenodermatidae" }
taxons["Typhlopoidea"] = { "sous-famille", { "Scolecophidia" }, "Xenodermatidae", "", "Typhlopoidea" }
taxons["Anomalepididae"] = { "famille", nil, "Ophidia", "", "Anomalepididae" }
taxons["Gerrhopilidae"] = { "famille", nil, "Ophidia", "", "Gerrhopilidae" }
taxons["Typhlopidae"] = { "famille", nil, "Ophidia", "", "Typhlopidae" }
taxons["Leptotyphlopidae"] = { "famille", nil, "Ophidia", "", "Leptotyphlopidae" }
taxons["Leptotyphlopinae"] = { "sous-famille", nil, "Leptotyphlopidae", "", "Leptotyphlopinae" }
taxons["Epictinae"] = { "sous-famille", nil, "Leptotyphlopidae", "", "Epictinae" }
taxons["Xenotyphlopidae"] = { "famille", nil, "Ophidia", "", "Xenotyphlopidae" }
taxons["Archosauria"] = { "sous-classe", nil, "Sauropsida", "", "Archosauria" }
taxons["Crocodylia"] = { "ordre", nil, "Archosauria", "", "Crocodylia" }
taxons["Eusuchia"] = { "sous-ordre", nil, "Crocodylia", "", "Eusuchia" }
taxons["Crocodylidae"] = { "famille", nil, "Eusuchia", "", "Crocodylidae" }
taxons["Alligatoridae"] = { "famille", nil, "Eusuchia", "", "Alligatoridae" }
taxons["Gavialidae"] = { "famille", nil, "Eusuchia", "", "Gavialidae" }
-- retourne vrai si le taxon est référencé, faux sinon.
-- retourne en plus vrai si le taxon est "natif" ou "obsolète"
function p.existe(nom)
if (nom == nil or nom == "") then
return false
end
local t = taxons[nom]
if (t ~= nil) then
return { true, true }
end
-- pas direct, on cherche si présent en synonyme
for k, v in pairs(taxons) do
if (v ~= nil) then
if (v[2] ~= nil) then
local i = 1
while (v[2][i] ~= nil) do
if (v[2][i] == nom) then
return { true, false }
end
i = i + 1
end
end
end
end
return false
end
-- retourne l'entrée du taxon si il existe (y compris synonyme)
function p.data(nom)
if (nom == nil or nom == "") then
return nil
end
local t = taxons[nom]
if (t ~= nil) then
return t
end
-- pas direct, on cherche si présent en synonyme
for k, v in pairs(taxons) do
if (v ~= nil) then
if (v[2] ~= nil) then
local i = 1
while (v[2][i] ~= nil) do
if (v[2][i] == nom) then
return v[2]
end
i = i + 1
end
end
end
end
return nil
end
-- affiche la liste des taxons supérieurs au taxon indiqué
function p.liste_sup(nom)
local ret = ""
if (nom == nil or nom == "") then
return ""
end
local cur = p.data(nom)
while (cur ~= nil) do
local r = data.est_rang(cur[1])
local rr
if (r[1] == true) then
rr = r[2][1]
else
rr = "<erreur>"
end
ret = ret .. rr .. " [[" .. cur[5] .. "]] "
local z = cur[2]
if (z ~= nil) then
local i = 1
ret = ret .. "("
while (z[i] ~= nil) do
if (i > 1) then ret = ret .. " " end
ret = ret .. "[[" .. z[i] .. "]]"
end
ret = ret .. ")"
end
ret = ret .. " → "
-- suivant
cur = p.data(cur[3])
end
-- la fin
ret = ret .. "<fin><br/>\n"
return ret
end
-- wrapper
function p.acces(frame)
return p.liste_sup(frame.args[1] or frame:getParent().args[1] or "")
end
return p