Module:Minor planet list link: Difference between revisions
Appearance
update from sandbox to fix edge case |
MusikAnimal (talk | contribs) m Protected "Module:LoMP": High-risk Lua module; 1,000+ transclusions ([Edit=Require autoconfirmed or confirmed access] (indefinite)) |
(No difference)
|
Revision as of 17:47, 10 October 2017
![]() | This Lua module is used on approximately 4,200 pages and changes may be widely noticed. Test changes in the module's /sandbox or /testcases subpages, or in your own module sandbox. Consider discussing changes on the talk page before implementing them. |
Implements {{Minor planet list link}}
local p = {}
function p.LoMP(frame)
-- For calling from #invoke.
local pframe = frame:getParent()
local args = pframe.args
return p._LoMP(args)
end
function p._LoMP(args)
local link, result
-- For calling from other Lua modules.
local num = tonumber(args[1])
local subsec = string.sub(tostring(num + 1000), -3)
if (num <= 1000) then
link = "List of minor planets: 1–1000#" .. subsec
else
local pagefrom = math.floor((num - 1) / 1000)
local pageto = pagefrom + 1
link = "List of minor planets: " .. pagefrom .. "001–" .. pageto .. "000#" .. subsec
end
if (args[2] == nil) then
result = "[[" .. link .. "]]"
else
result = "[[" .. link .. "|" .. args[2] .. "]]"
end
return result
end
return p