Module:Sandbox/Ahecht: Difference between revisions

Content deleted Content added
u = frame.args[1]
clear out old crud
Line 8:
output[2] = ''
end
output[3] = '\<br />frame.args: ' .. type(frame.args) .. ' '
if frame.args[1] then
output[4] = frame.args[1]
Line 29:
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