Module:Nombre d'épisodes d'anime

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

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

Utilisation[modifier le code]

Fonctions exportables :

  • getEpisodeCount(frame) – retourne le nombre correspondant à la série en premier argument ou la page appelant quand il n'y a pas d'argument. Si la série n'est pas présent dans Module:Nombre d'épisodes d'anime/data, retourne "?".

Fonctions internes:

  • getFormattedData(frame, format, data) - retourne la chaîne "data" formatée selon "format"

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

  • mw.title – Récupère le titre de la page appelante pour connaître le nom de la série quand le module est utilisé sans argument
  • mw.language - Formate le nombre

Exemples[modifier le code]

Pour des exemples, voir la page de test permettant de tester diverses modifications apportées.

Module utilisé par le Modèle:Nombre d'épisodes d'anime.

--
-- Module "Nombre d'épisodes d'anime" qui permet de mettre à jour automatiquement l'infobox des articles sans polluer les listes de suivi.
--
-- Piqué de <https://fr.wikipedia.org/w/index.php?title=Module:Compteur_d%27%C3%A9ditions_automatique&action=history> dont les auteurs originaux sont 0x010C et Brclz.
-- Auteur : Thibaut120094
-- Copyright (C) 2016 - GPLv2 or CC-BY-SA 3.0 or GFDL (muh copyleft)
-- 
--
local p = {}

-- Get data in formatnum format
local function getFormattedData(format, data)
    -- If the user want the raw data
    if format ~= nil then
        return data
    end
    -- Otherwise format the number
    return mw.language.new('fr'):formatNum(data)
end

function p.getEpisodeCount(frame)
    -- Load and store the bot-updated data
    local data = mw.loadData( 'Module:Nombre d\'épisodes d\'anime/data' )
    -- Get the calling page root title
    local rtitle = mw.title.getCurrentTitle().rootText
    -- Get the 1st level arguments
    local args = frame:getParent().args
    -- If there is a value for the given user (args elseif via title), return it
    if data[args[1]] ~= nil then
        return getFormattedData(args['raw'], data[args[1]])
    elseif data[rtitle] ~= nil then
        return getFormattedData(args['raw'], data[rtitle])
    end
    -- Elsewise just display a "?" until the bot get through it
    return "?"
end

return p