Module:Road data/parser/hooks and Module:Road data/parser/hooks/sandbox: Difference between pages
Appearance
(Difference between pages)
Content deleted Content added
no |
m Corrected parser argument order. |
||
Line 1: | Line 1: | ||
local p = {} |
local p = {} |
||
-- Change to "" upon deployment. |
|||
⚫ | |||
local moduleSuffix = "/sandbox" |
|||
⚫ | |||
function p.split(parameters, args) |
function p.split(parameters, args) |
||
local route = tonumber |
local route = tonumber(args.route) or 0 |
||
if route < parameters.split then |
if route < parameters.split then |
||
return parameters.below |
return parameters.below |
||
Line 24: | Line 27: | ||
local lower = parameters.lower |
local lower = parameters.lower |
||
local upper = parameters.upper |
local upper = parameters.upper |
||
local route = tonumber |
local route = tonumber(args.route) or 0 |
||
if route < lower or route >= upper then |
if route < lower or route >= upper then |
||
return parameters.no |
return parameters.no |
||
Line 73: | Line 76: | ||
--[[ |
--[[ |
||
For the first element (pattern, action) in .actions such that |
For the first element (pattern, action) in .actions such that |
||
require(Module:Road data/parser).parser(args, .entry, . |
require(Module:Road data/parser).parser(args, .entry, .kind, .path) |
||
matches pattern as a regular expression, return action. |
matches pattern as a regular expression, return action. |
||
If no such element exists, return .default (nil if unspecified). |
If no such element exists, return .default (nil if unspecified). |
||
. |
.kind and .path are optional. |
||
]] |
]] |
||
function p.match(parameters, args) |
function p.match(parameters, args) |
||
Line 84: | Line 87: | ||
local entry = parameters.entry |
local entry = parameters.entry |
||
⚫ | |||
local path = parameters.path |
local path = parameters.path |
||
⚫ | |||
local actions = parameters.actions |
local actions = parameters.actions |
||
local value = parser(args, entry, |
local value = parser(args, entry, kind, path) |
||
for pattern,action in pairs(actions) do |
for pattern,action in pairs(actions) do |
||
if mw.ustring.match(value, pattern) then |
if mw.ustring.match(value, pattern) then |
||
Line 95: | Line 98: | ||
return parameters.default |
return parameters.default |
||
end |
end |
||
function p.iso3166Sub(parameters, args) |
|||
local country = args.country |
|||
local subParam = parameters.sub |
|||
local subCode = args[subParam] |
|||
local iso3166Module = require("Module:ISO 3166") |
|||
args.iso3166Sub = iso3166Module.luaname{country, subCode} |
|||
return parameters.default |
|||
end |
|||
function p.pagename(parameters, args) |
|||
local pagename = mw.title.getCurrentTitle().text |
|||
local article = parameters.article |
|||
if article == pagename then |
|||
return parameters.iftrue |
|||
else |
|||
return parameters.default or '' |
|||
end |
|||
end |
|||
return p |
return p |