{{Module rating }}
UsageEdit
{{#invoke:Sandbox/Ahecht|main}}
OutputEdit
frame: table
frame.args: table
frame:getParent().args table
See alsoEdit
- Sandbox/Ahecht
- Sandbox/Ahecht/Catalog lookup link
- Sandbox/Ahecht/Cite
- Sandbox/Ahecht/Cite/doc
- Sandbox/Ahecht/Cite DNV
- Sandbox/Ahecht/Gridiron color
- Sandbox/Ahecht/benchmark
- Sandbox/Ahecht/benchmark/doc
- Sandbox/Ahecht/doc
- Sandbox/Ahecht/flag
- Sandbox/Ahecht/flag/Australia
- Sandbox/Ahecht/flag/Australia/doc
- Sandbox/Ahecht/flag/Canada
- Sandbox/Ahecht/flag/Canada/doc
- Sandbox/Ahecht/flag/China
- Sandbox/Ahecht/flag/China/doc
- Sandbox/Ahecht/flag/France
- Sandbox/Ahecht/flag/France/doc
- Sandbox/Ahecht/flag/Germany
- Sandbox/Ahecht/flag/Germany/doc
- Sandbox/Ahecht/flag/Iran
- Sandbox/Ahecht/flag/Iran/doc
- Sandbox/Ahecht/flag/Italy
- Sandbox/Ahecht/flag/Italy/doc
- Sandbox/Ahecht/flag/Japan
- Sandbox/Ahecht/flag/Japan/doc
- Sandbox/Ahecht/flag/Poland
- Sandbox/Ahecht/flag/Poland/doc
- Sandbox/Ahecht/flag/Spain
- Sandbox/Ahecht/flag/Spain/doc
- Sandbox/Ahecht/flag/United Kingdom
- Sandbox/Ahecht/flag/United Kingdom/doc
- Sandbox/Ahecht/flag/United States
- Sandbox/Ahecht/flag/United States/doc
- Sandbox/Ahecht/flag/doc
- Sandbox/Ahecht/flag/redirects
- Sandbox/Ahecht/flag/redirects/doc
- Sandbox/Ahecht/interwiki
- Sandbox/Ahecht/interwiki/doc
- Sandbox/Ahecht/min
- Sandbox/Ahecht/modsandbox
- Sandbox/Ahecht/pagecreator
- Sandbox/Ahecht/pagecreator/doc
- Sandbox/Ahecht/sandbox
- Sandbox/Ahecht/sandbox2
- Sandbox/Ahecht/trim date
- Sandbox/Ahecht/url-access
local p = {}
function p.main(frame)
local output = {}
output[1] = 'frame: ' .. type(frame) .. ' '
if frame[1] then
output[2] = frame[1]
else
output[2] = ''
end
output[3] = '\<br />frame.args: ' .. type(frame.args) .. ' '
if frame.args[1] then
output[4] = frame.args[1]
else
output[4] = ''
end
output[5] = '<br />frame:getParent().args ' .. type(frame:getParent().args) .. ' '
if frame:getParent().args[1] then
output[6] = frame:getParent().args[1]
else
output[6] = ''
end
if frame.args['test'] == 0 then
output[7] = '<br />0 the number'
elseif frame.args['test'] == '0' then
output[7] = '<br />0 the character'
else
output[7] = ''
end
return table.concat(output)
end
function p.infoboxattraction(frame)
local keys = {
"name",
"logo",
"logo_width",
"logodimensions",
"logo_dimensions",
"image",
"image_width",
"imagedimensions",
"image_dimensions",
"caption",
"locationarticle",
"location",
"child",
"altname",
"section",
"coordinates",
"status",
"Status",
"multiple",
"auto-cat",
"cost",
"soft_opened",
"opened",
"closed",
"year",
"previousattraction",
"replacement",
"type",
"ride",
"manufacturer",
"manufacturers",
"designer",
"model",
"theme",
"music",
"height_m",
"height_ft",
"drop_m",
"drop_ft",
"length_m",
"length_ft",
"speed_km/h",
"speed_mph",
"speed_rpm",
"sitearea_sqm",
"sitearea_sqft",
"gforce",
"capacity",
"vehicle_type",
"vehicles",
"riders_per_vehicle",
"rows",
"riders_per_row",
"participants_per_group",
"audience_capacity",
"duration",
"restraint",
"restriction_cm",
"restriction_ft",
"restriction_in",
"sponsor",
"custom_label_1",
"custom_value_1",
"custom_label_2",
"custom_value_2",
"custom_label_3",
"custom_value_3",
"custom_label_4",
"custom_value_4",
"custom_label_5",
"custom_value_5",
"custom_label_6",
"custom_value_6",
"custom_label_7",
"custom_value_7",
"custom_label_8",
"custom_value_8",
"website",
"homepage",
"virtual_queue_image",
"virtual_queue_name",
"virtual_queue_status",
"virtual_queue_image2",
"virtual_queue_name2",
"virtual_queue_status2",
"single_rider",
"pay_per_use",
"accessible",
"transfer_accessible",
"assistive_listening",
"cc",
}
local output = {"{{Infobox attraction/section/sandbox"}
local args = {[0]={}}
for k, v in pairs(frame:getParent().args) do
local val = mw.text.trim(v)
if (val or "") ~= "" then
-- val exists and isn't blank
local loc = tonumber(mw.ustring.sub(k,-1))
if (loc) and (loc > 0) and (loc <= 10)
and (not mw.ustring.match(k, "^location_%d+$"))
and (not mw.ustring.match(k, "^custom_")) then
-- last character is a number 1-10, and it's not "location_#" or "custom_"
if not args[loc] then args[loc] = {} end
-- strip "location_" and number from key
local key = mw.ustring.gsub(mw.ustring.gsub(k, "_?%d+$", ""), "^location_", "")
args[loc][key] = val
elseif (not loc) and (mw.ustring.match(k, "^location_%D")) then
-- default to location 1
if (not args[1]) then args[1] = {} end
-- strip "location_" from key
local key = mw.ustring.gsub(k, "^location_", "")
args[1][key] = v
else
args[0][k] = val
end
end
end
if string.lower(string.gsub((args[0].type or ""),".*%s","")) == "show" then
args[0].ride = "no"
end
for _, k in ipairs(keys) do
if args[0][k] then
table.insert(output, "| " .. k .. " = " .. args[0][k])
end
end
for i, a in ipairs(args) do
if not args[0]["location_" .. i] then
-- location subtemplate isn't defined
table.insert(output, "| location_" .. i .. " = {{Infobox attraction/section/sandbox | child=yes")
for _, k in ipairs(keys) do
if a[k] then
table.insert(output, "| " .. k .. " = " .. a[k])
end
end
table.insert(output,"| ride = " .. (args[0].ride or ""))
table.insert(output,"| auto-cat = " .. (args[0].auto-cat or ""))
table.insert(output,"}}")
end
end
table.insert(output, "}}")
return frame:preprocess(table.concat(output, "\n"))
end
function p.killmarkers(frame)
return frame:extensionTag{ name = nowiki, content = mw.text.killMarkers( frame.args[1] or frame.getParent().args[1] or '' ) }
end
function p.pipetrick(frame)
u = frame.args[1]
return "[[User:" .. u .. "|]]"
end
return p