Module:Nsm/Transwiki
Documentation du Module:Nsm/Transwiki : v · d · m · h.
Le module Nsm/Transwiki, est un sous-module du module principal Nsm. Reportez vous à l’aide du modèle {{Nsm}}.
- Voir aussi
- Projet:Laboratoire/Espaces de noms/Minute technique
- Namespace monitor au Labo. d’idées MetaWiki
- toollabs:fr-wikiversity-ns
- Phab:diffusion/1906
local p = require("Module:Nsm/Lib") -- Bibliothèque NameSpace Monitor
local import = require("Module:Nsm/Table/110")
local import_talk = require("Module:Nsm/Table/111") -- talkpages tables
-- local sortable_lib = require("Module:Sortable lib")
local table_tri = require("Module:Lib table tri")
-- Variables GLOBALes
t_prop = import.t_prop
lang = t_prop.lang -- Language du site
t_pages = import.t_pages
talk_prop = import_talk.t_prop -- ns talk properties
talk_pages = import_talk.t_talkpages -- talk pages table
label = t_prop.label -- Label de l'espace de noms
talk_label = talk_prop.label -- Label espace discussion
t_root = ns_root_only(t_pages)
t_sub = ns_subpages_only(t_pages)
r_pages = split_redir(t_pages, '-r') -- Table des pages sans redirection
-- Locales
local prefix = prefix(lang, label)
function p.regex1()
r=''
for k, v in pairs(t_pages) do
r =r .. '* '..v.page..'\n'
z = string.reverse(v.page)
z = string.find(z, '/')
if z ~= nil then z = mw.ustring.len(v.page) - z
z = mw.ustring.sub(v.page,0, z)
r = r .. z ..'\n' end
end
return r
end
-- FONCTIONS
function p.g_force() -- Tester avec passe la table ns_t reçue dans sub_lost('all')
local t = sub_lost(t_pages, 'all') -- Liste isolées et racines
local ts = {} -- table simple (ia, v_txt) avec index auto pour le tri
local result = {} -- table des resultats (groupé même si isolé)
local test = '' -- table pour tests et debug
for k, v in pairs(t) do table.insert(ts, v.page) end -- pour TRIER par page
table.sort(ts) -- Tri sur le titre de la page
local c = 0 -- Compte les pages masquées
for k, v in pairs(ts) do
local title = scribunto_title(v, label, prefix)
--if title.isSubpage! NE TESTER QUE SI SOUS-PAGE
local mybasetext = title.baseText
-- Comparer path avec celui de la page SUIVANTE
if ts[k+1] ~= nil then --k+1 = INDEX SUIVANT
next_v = ts[k+1] --tester si exist Valeur suivante
local next_title = scribunto_title(next_v, label, prefix)
local next_basetext = next_title.baseText
if mybasetext == next_basetext then -- Si path est identique au suivant
c=c+1 -- incrémenter compteur
else -- baseText (path) différent
result[v] = c -- NOMMER CE PARAMÊTre
c = 0 -- puis reinitialise le compteur
end
else result[v] = c end end -- Pas de prochain, Ajoute le dernier
-- avec mw.title ; sans regex !
local col = {'page', 'c'}
return st_print(result, col)
--return test
end
return p