Module:Liste2 : Différence entre versions

Ligne 27 : Ligne 27 :
 
local tbl1,tbl2,tbl3,tbl4,tbl5,tbl6 = {},{},{},{},{},{},{}
 
local tbl1,tbl2,tbl3,tbl4,tbl5,tbl6 = {},{},{},{},{},{},{}
 
for _, row in ipairs(result) do
 
for _, row in ipairs(result) do
if row['dateDebut'] and row['dateDebut'] ~= '' then
+
 
if row['dateFin'] and row['dateFin'] ~= '' then
 
local a =  tonumber(string.sub(row['dateDebut'],1,4)) + tonumber(string.sub(row['dateFin'],1,4))
 
row['annee'] = (a-a%2)/2
 
else
 
row['annee'] = tonumber(string.sub(row['dateDebut'],1,4))
 
end
 
elseif row['dateFin'] then
 
row['annee'] = tonumber(string.sub(row['dateFin'],1,4))
 
else
 
row['annee'] = 2018
 
end
 
 
 
if row['video'] == '' then
 
if row['video'] == '' then
 
if supports[row['idSupport']] then row['video']=supports[row['idSupport']] end
 
if supports[row['idSupport']] then row['video']=supports[row['idSupport']] end
 
end
 
end
--[[
+
 
if row['annee'] then
 
if row['annee'] < 1930 then
 
tbl1[#tbl1+1] =  frame:expandTemplate{ title = args.template, args = row }
 
elseif  row['annee'] >= 1930 and row['annee'] < 1940 then
 
tbl2[#tbl2+1] =  frame:expandTemplate{ title = args.template, args = row }
 
elseif row['annee'] >= 1940 and row['annee'] < 1950 then
 
tbl3[#tbl3+1] =  frame:expandTemplate{ title = args.template, args = row }
 
elseif  row['annee'] >= 1950 and row['annee'] < 1960 then
 
tbl4[#tbl4+1] =  frame:expandTemplate{ title = args.template, args = row }
 
elseif  row['annee'] >= 1960 and row['annee'] < 1970 then
 
tbl5[#tbl5+1] =  frame:expandTemplate{ title = args.template, args = row }
 
else
 
    tbl6[#tbl6+1] = frame:expandTemplate{ title = args.template, args = row }
 
end
 
end
 
]]--
 
 
end
 
end
table.sort(result,function(a,b) return a.annee  < b.annee end)
+
 
 
for _,row in ipairs(result) do
 
for _,row in ipairs(result) do
 
if row['annee'] then
 
if row['annee'] then

Version du 10 décembre 2018 à 17:27

La documentation pour ce module peut être créée à Module:Liste2/doc

local p = {}
function p.main(frame)
	if frame == mw.getCurrentFrame() then
		args = require('Module:ProcessArgs').merge(true)
	else
		frame = mw.getCurrentFrame()
	end
	
	local query = {}
	for k, v in pairs(args) do
		if string.sub(k, 0, 2) == 'q?' then
			query[string.sub(k, 3)] = v
		end
	end

	supports={}	
	local result = mw.ext.cargo.query('Supports','idSupport,video',{groupBy = 'idSupport',limit=3000})
	for d, row in ipairs(result) do
		supports[row['idSupport']] = row['video']
	end
	
	result = mw.ext.cargo.query(query.tables, query.fields, query)
	if not next(result) then
		return frame:preprocess(args.default or '')
	end

	local tbl1,tbl2,tbl3,tbl4,tbl5,tbl6 = {},{},{},{},{},{},{}
	for _, row in ipairs(result) do

		if row['video'] == '' then
			if supports[row['idSupport']] then row['video']=supports[row['idSupport']] end
		end

	end

	for _,row in ipairs(result) do
		if row['annee'] then
			if row['annee'] < 1930 then 
				tbl1[#tbl1+1] =  frame:expandTemplate{ title = args.template, args = row } 
			elseif  row['annee'] >= 1930 and row['annee'] < 1940 then 
				tbl2[#tbl2+1] =  frame:expandTemplate{ title = args.template, args = row } 
			elseif row['annee'] >= 1940 and row['annee'] < 1950 then
				tbl3[#tbl3+1] =  frame:expandTemplate{ title = args.template, args = row } 
			elseif  row['annee'] >= 1950 and row['annee'] < 1960 then
				tbl4[#tbl4+1] =  frame:expandTemplate{ title = args.template, args = row }
			elseif  row['annee'] >= 1960 and row['annee'] < 1970 then
				tbl5[#tbl5+1] =  frame:expandTemplate{ title = args.template, args = row }
			else
			    tbl6[#tbl6+1] = frame:expandTemplate{ title = args.template, args = row }
			end
		end	
	end
	local intro = frame:preprocess(args.intro or '')
	local outro = frame:preprocess(args.outro or '')

	return intro .. table.concat(tbl1,args.delimiter or '') .. table.concat(tbl2,args.delimiter or '') .. table.concat(tbl3,args.delimiter or '') .. table.concat(tbl4,args.delimiter or '') .. table.concat(tbl5,args.delimiter or '') .. table.concat(tbl6,args.delimiter or '') .. outro 	
end
return p