Module:Nsm/Transwiki

Une page de Wikiversité, la communauté pédagogique libre.

info 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