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