Module:PTV route/sandbox
Appearance
![]() | This is the module sandbox page for Module:PTV route (diff). |
This module implements {{PTV route}} and {{cite PTV route}}. Please see the template pages for documentation.
To update the bus route data, please see Module:PTV route/data.
-- This module implements [[Template:PTVBus]].
local data = mw.loadData('Module:PTVBus/data')
local p = {}
local function formatUrlLink(url, display)
if display then
return string.format('[%s %s]', url, display)
else
return string.format('[%s]', url)
end
end
local function makeDisplayText(args, routeData)
local display
if args.numtext then
display = args.route
elseif args.deftext then
display = routeData.text
else
display = args.text
end
return display
end
function p._main(args)
if not args.route then
return nil
end
local routeData = data[args.route]
if not routeData then
return nil
end
local url = 'https://www.ptv.vic.gov.au/route/' .. routeData.page
local display = makeDisplayText(args, routeData)
return formatUrlLink(url, display)
end
function p.main(frame)
local args = require('Module:Arguments').getArgs(frame, {
wrappers = 'Template:PTVBus',
})
return p._main(args)
end
return p