Jump to content

Module:Rail-interchange multi/sandbox: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
mNo edit summary
rewrite
Line 1: Line 1:
local p = {}
local p = {}

local function rint(args)
return frame:expandTemplate{ title = 'Rail-interchange', args = args }
end


function p.row(frame)
function p.row(frame)
local somelist = frame.args[1]
local data = frame.args[1]
local div = frame.args['div']
local div = frame.args['div']
local result, para1, para2, para3, para4, para1_1, para1_empty, sep
local result, sep = '', ''
local data = mw.text.split(data, '+')
result = ''
para1 = ''
local args = {}
for i1, v1 in ipairs(data) do
para2 = ''
if v1 ~= '' and v1 ~= '\\' then
para3 = ''
local tmp = mw.text.split(v1, '\\')
para4 = ''
if args[1] then sep = ' ' end
para1_1 = ''
for i2, v2 in ipairs(tmp) do
para1_empty = false
if i2 < 5 then
sep = ''
if i2 == 1 then
for k1, v1 in ipairs(mw.text.split(somelist, '+')) do
if not (v2 == '' or v2 == nil) then
for k2, v2 in ipairs(mw.text.split(v1 .. '\\', '\\')) do
args[i2] = v2
if k2 > 4 then break
end
elseif k2 == 1 then
if para1 == '' then
para1_1 = v2
else sep = ' '
end
if v2 == nil or v2 == '' then
para1 = para1_1
para1_empty = true
else
para1 = v2
para1_empty = false
end
elseif k2 == 2 then
if v2 == nil or v2 == '' then
para2 = nil
else
para2 = v2
end
elseif k2 == 3 then
if v2 == nil or v2 == '' then
para3 = nil
else
para3 = v2
end
elseif k2 == 4 then
if v2 == nil or v2 == '' then
para4 = nil
else
else
para4 = v2
args[i2] = (v2 == '' and nil or v2)
end
end
if para1_empty == true and para2 == nil then
else result = result .. sep .. frame:expandTemplate{ title = 'Rail-interchange', args = { para1, para2, para3, para4 } }
end
end
end
if args[1] or args[2] then
result = result .. sep .. rint(args)
end
end
end
end
end
end
if div == 'yes' or div == 'y' then result = '<div style="display: table-cell; vertical-align: middle; padding-left: 3px; white-space: nowrap;">' .. result .. '</div>'
if div == 'yes' or div == 'y' then result = '<div style="display: table-cell; vertical-align: middle; padding-left: 3px; white-space: nowrap;">' .. result .. '</div>' end
end
return result
return result
end
end

function p.doublerow(frame)
function p.doublerow(frame)
local somelist = frame.args[1]
local data = frame.args[1]
local result, para1, para2, para3, para4, para1_1, para1_empty, sep
local result, sep = '', ''
local data = mw.text.split(data, '+')
result = ''
para1 = ''
local args = {}
local sep_code = {
para2 = ''
para3 = ''
[0] = '<br/>',
[1] = '</div><div style="display: table-cell; vertical-align: middle; padding-left: 3px; white-space: nowrap;">'
para4 = ''
}
para1_1 = ''
for i1, v1 in ipairs(data) do
para1_empty = false
if v1 ~= '' and v1 ~= '\\' then
sep = ''
for k1, v1 in ipairs(mw.text.split(somelist, '+')) do
local tmp = mw.text.split(v1, '\\')
if args[1] then sep = sep_code[i1 % 2] end
for k2, v2 in ipairs(mw.text.split(v1 .. '\\', '\\')) do
if k2 > 4 then break
for i2, v2 in ipairs(tmp) do
elseif k2 == 1 then
if i2 < 5 then
if para1 == '' then
if i2 == 1 then
para1 = v2
if not (v2 == '' or v2 == nil) then
para1_1 = v2
args[i2] = v2
else
if v2 == nil or v2 == '' then
para1 = para1_1
para1_empty = true
else
para1 = v2
para1_empty = false
end
end
if (k1 % 2 == 1) then sep = '</div><div style="display: table-cell; vertical-align: middle; padding-left: 3px; white-space: nowrap;">'
else sep = '<br/>'
end
end
elseif k2 == 2 then
if v2 == nil or v2 == '' then
para2 = nil
else
else
para2 = v2
args[i2] = (v2 == '' and nil or v2)
end
end
elseif k2 == 3 then
if v2 == nil or v2 == '' then
para3 = nil
else
para3 = v2
end
elseif k2 == 4 then
if v2 == nil or v2 == '' then
para4 = nil
else
para4 = v2
end
if para1_empty == true and para2 == nil then result = result .. sep
else result = result .. sep .. frame:expandTemplate{ title = 'Rail-interchange', args = { para1, para2, para3, para4 } }
end
end
end
if args[1] or args[2] then
result = result .. sep .. rint(args)
end
end
end
end
Line 114: Line 67:
return result
return result
end
end
return p

Revision as of 17:11, 21 September 2019

local p = {}

local function rint(args)
	return frame:expandTemplate{ title = 'Rail-interchange', args = args }
end

function p.row(frame)
	local data = frame.args[1]
	local div = frame.args['div']
	local result, sep = '', ''
	local data = mw.text.split(data, '+')
	local args = {}
	for i1, v1 in ipairs(data) do
		if v1 ~= '' and v1 ~= '\\' then
			local tmp = mw.text.split(v1, '\\')
			if args[1] then sep = ' ' end
			for i2, v2 in ipairs(tmp) do
				if i2 < 5 then
					if i2 == 1 then
						if not (v2 == '' or v2 == nil) then
							args[i2] = v2
						end
					else
						args[i2] = (v2 == '' and nil or v2)
					end
				end
			end
			if args[1] or args[2] then
				result = result .. sep .. rint(args)
			end
		end
	end
	if div == 'yes' or div == 'y' then result = '<div style="display: table-cell; vertical-align: middle; padding-left: 3px; white-space: nowrap;">' .. result .. '</div>' end
	return result
end
				
function p.doublerow(frame)
	local data = frame.args[1]
	local result, sep = '', ''
	local data = mw.text.split(data, '+')
	local args = {}
	local sep_code = {
		[0] = '<br/>',
		[1] = '</div><div style="display: table-cell; vertical-align: middle; padding-left: 3px; white-space: nowrap;">'
	}
	for i1, v1 in ipairs(data) do
		if v1 ~= '' and v1 ~= '\\' then
			local tmp = mw.text.split(v1, '\\')
			if args[1] then sep = sep_code[i1 % 2] end
			for i2, v2 in ipairs(tmp) do
				if i2 < 5 then
					if i2 == 1 then
						if not (v2 == '' or v2 == nil) then
							args[i2] = v2
						end
					else
						args[i2] = (v2 == '' and nil or v2)
					end
				end
			end
			if args[1] or args[2] then
				result = result .. sep .. rint(args)
			end
		end
	end
	result = '<div style="display: table-cell; vertical-align: middle; padding-left: 3px; white-space: nowrap;">' .. result .. '</div>'
	return result
end