Module:government: Difference between revisions

ਕੋਈ ਸੋਧ ਸਾਰ ਨਹੀਂ
mNo edit summary
No edit summary
Line 2: Line 2:
local getArgs = require('Module:Arguments').getArgs
local getArgs = require('Module:Arguments').getArgs


local m_languages = require('Module:languages')
local m_links = require('Module:links')


-- COLOUR DATA
-- COLOUR DATA
Line 56: Line 58:
return to_Return
return to_Return
end
function export.show(frame)
local args = getArgs(frame)
local language = m_languages.get_by_code(args[1])
if args[2] == nil then error("Second parameter is missing") end
local show = "["
local function append(text)
show = show .. text
end
local i = 2
while args[i] do
if i > 2 then
append("; ''or'' ")
end
local temp = args[i]
if mw.ustring.sub(temp, 1, 1) == "&" then
temp = mw.ustring.sub(temp, 2)
else
append("''with'' ")
end
while #temp > 0 do
mw.log(temp)
-- case<t>
-- :prep(case)<t>
-- &label<t>
local function remove_temp(regex)
temp = mw.ustring.gsub(temp, regex, "")
end
if mw.ustring.find(temp, "^%s*%/%s*") then
append(" ''or'' ")
remove_temp("^%s*%/%s*")
elseif mw.ustring.find(temp, "^%s*%+%s*") then
append(" ''and'' ")
remove_temp("^%s*%+%s*")
else
local function glossary(form, colour)
if data[form] then
form = data[form].label
if colour == nil then colour = data[form].colour end
end
local to_Return = "''[[Appendix:Glossary#" .. form .. "|" .. form .. "]]''"
if colour then
to_Return = "<span style=\"background-color: #" .. colour .. ";\">" .. to_Return .. "</span>"
end
return to_Return
end
local form, colour
if mw.ustring.find(temp, "^%:[^%(%<%[%+%/]+") then
local link = mw.ustring.match(temp, "^%:([^%(%<%[%+%/]+)")
append("'''" .. m_links.full_link{language = language, term = link} .. "'''")
remove_temp("^%:[^%(%<%[%+%/]+")
if mw.ustring.find(temp, "^%([^%)]+%)") then
form = mw.ustring.match(temp, "^%(([^%)]+)%)")
remove_temp("^%([^%)]+%)")
if mw.ustring.find(temp, "^%[[^%]]+%]") then
colour = mw.ustring.match(temp, "^%[([^%]]+)%]")
remove_temp("^%[[^%]]+%]")
end
append(" (+ " .. glossary(form, colour) .. ")")
end
else
form = mw.ustring.match(temp, "^([^%(%<%[%+%/]+)")
remove_temp("^([^%(%<%[%+%/]+)")
if mw.ustring.find(temp, "^%[[^%]]+%]") then
colour = mw.ustring.match(temp, "^%[([^%]]+)%]")
remove_temp("^%[[^%]]+%]")
end
append(glossary(form, colour))
if args["pos"] then
if data[form] then form = data[form].label end
append("[[Category:" .. language.name .. " " .. pluralize(args["pos"]) .. " governing the " .. form .. "]]")
end
end
end
end
i = i + 1
end
append("]")
return show
end
end


Line 63: Line 154:
Debug console test string:
Debug console test string:
=p.generate(mw.getCurrentFrame():newChild{title="whatever",args={"accusative"}})
=p.generate(mw.getCurrentFrame():newChild{title="whatever",args={"accusative"}})
=p.show(mw.getCurrentFrame():newChild{title="whatever",args={"rad"}})
]]
]]