Module:Studio debug: Difference between revisions
From PickiPedia: A knowledge base of bluegrass, old time psychedelic jams, and other public domain music
Jump to navigationJump to search
Narrow down which call eats a following link (via update-page on MediaWiki MCP Server) |
Test whether template= in the query is what breaks links afterwards (via update-page on MediaWiki MCP Server) |
||
| Line 9: | Line 9: | ||
end | end | ||
local function ask( frame, extra ) | |||
local args = { | |||
local | |||
"[[Has performer::Harry Clark]]", | "[[Has performer::Harry Clark]]", | ||
"?Has track name=track", | "?Has track name=track", | ||
"mainlabel=record", | "mainlabel=record", | ||
"link=none", | "link=none", | ||
"searchlabel=", | "searchlabel=", | ||
"limit=200", | "limit=200", | ||
} ) | } | ||
for _, one in ipairs( extra ) do | |||
raw = | table.insert( args, one ) | ||
return | end | ||
local raw = frame:callParserFunction( "#ask", args ) | |||
return mw.text.unstrip( raw or "" ) | |||
end | end | ||
-- | -- With a row template, as the real module does. | ||
function p. | function p.withtemplate( frame ) | ||
local raw = frame | local raw = ask( frame, { "format=plainlist", "sep=@@", "template=Studio appearance row" } ) | ||
return "got " .. visible( raw ) .. " -- link after: [[4masks]]" | |||
end | |||
-- Without one: the values come back separated by SMW's own punctuation. | |||
function p.notemplate( frame ) | |||
local raw = ask( frame, { "format=list", "sep=@@", "propsep=||" } ) | |||
return "got " .. visible( raw ) .. " -- link after: [[4masks]]" | |||
end | |||
-- No query at all, for a baseline. | |||
function p.noask( frame ) | |||
raw = | return "got nothing -- link after: [[4masks]]" | ||
return " | |||
end | end | ||
return p | return p | ||
Revision as of 21:42, 17 September 2026
Documentation for this module may be created at Module:Studio debug/doc
-- Temporary. Delete once Module:Studio sessions is behaving.
local p = {}
local function visible( s )
s = ( s or "" ):gsub( "\127[^\127]*\127", "<MARKER>" )
s = s:gsub( "&", "&" ):gsub( "<", "<" ):gsub( ">", ">" )
return s
end
local function ask( frame, extra )
local args = {
"[[Has performer::Harry Clark]]",
"?Has track name=track",
"mainlabel=record",
"link=none",
"searchlabel=",
"limit=200",
}
for _, one in ipairs( extra ) do
table.insert( args, one )
end
local raw = frame:callParserFunction( "#ask", args )
return mw.text.unstrip( raw or "" )
end
-- With a row template, as the real module does.
function p.withtemplate( frame )
local raw = ask( frame, { "format=plainlist", "sep=@@", "template=Studio appearance row" } )
return "got " .. visible( raw ) .. " -- link after: [[4masks]]"
end
-- Without one: the values come back separated by SMW's own punctuation.
function p.notemplate( frame )
local raw = ask( frame, { "format=list", "sep=@@", "propsep=||" } )
return "got " .. visible( raw ) .. " -- link after: [[4masks]]"
end
-- No query at all, for a baseline.
function p.noask( frame )
return "got nothing -- link after: [[4masks]]"
end
return p