Module:Minor planet list link: Difference between revisions
Appearance
Content deleted Content added
Tom.Reding (talk | contribs) m <= 1000 |
update from sandbox to fix edge case |
||
Line 16: | Line 16: | ||
link = "List of minor planets: 1–1000#" .. subsec |
link = "List of minor planets: 1–1000#" .. subsec |
||
else |
else |
||
local pagefrom = math.floor(num / 1000) |
local pagefrom = math.floor((num - 1) / 1000) |
||
local pageto = pagefrom + 1 |
local pageto = pagefrom + 1 |
||
link = "List of minor planets: " .. pagefrom .. "001–" .. pageto .. "000#" .. subsec |
link = "List of minor planets: " .. pagefrom .. "001–" .. pageto .. "000#" .. subsec |
Revision as of 03:31, 25 September 2016
![]() | 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