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
Dump the exact string Module:Studio sessions returns (via update-page on MediaWiki MCP Server) |
Narrow down which call eats a following link (via update-page on MediaWiki MCP Server) |
||
| Line 9: | Line 9: | ||
end | end | ||
function p. | -- The full ask the real module makes, then a link after it. | ||
function p.askthenlink( frame ) | |||
local raw = frame:callParserFunction( "#ask", { | local raw = frame:callParserFunction( "#ask", { | ||
"[[Has performer:: | "[[Has performer::Harry Clark]]", | ||
"?Has track name=track", | "?Has track name=track", | ||
"?Has track number=number", | |||
"?Has instrument=instrument", | |||
"mainlabel=record", | "mainlabel=record", | ||
"format=plainlist", | "format=plainlist", | ||
| Line 22: | Line 24: | ||
"limit=200", | "limit=200", | ||
} ) | } ) | ||
raw = mw.text.unstrip( raw or "" ) | |||
raw = raw:gsub( "\127[^\127]*\127", "" ):gsub( "<[^>]+>", "" ) | |||
return "raw=[" .. visible( raw ) .. "] then a link: [[4masks]] and another [[Studio sessions test]]" | |||
end | end | ||
function p. | -- The same, but reading the record out of the row the way the module does. | ||
function p.fromrow( frame ) | |||
local raw = frame:callParserFunction( "#ask", { | |||
"[[Has performer::Harry Clark]]", | |||
"?Has track name=track", | |||
"mainlabel=record", | |||
"format=plainlist", | |||
local | "link=none", | ||
return " | "sep=@@", | ||
"template=Studio appearance row", | |||
"searchlabel=", | |||
"limit=200", | |||
} ) | |||
raw = mw.text.unstrip( raw or "" ) | |||
raw = raw:gsub( "\127[^\127]*\127", "" ):gsub( "<[^>]+>", "" ) | |||
local record = raw:match( "^(.-)||" ) or "no match" | |||
record = record:match( "^([^#]*)" ) or record | |||
return "record=[" .. visible( record ) .. "] as a link: [[" .. record .. "]]" | |||
end | end | ||
return p | return p | ||
Revision as of 21:41, 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
-- The full ask the real module makes, then a link after it.
function p.askthenlink( frame )
local raw = frame:callParserFunction( "#ask", {
"[[Has performer::Harry Clark]]",
"?Has track name=track",
"?Has track number=number",
"?Has instrument=instrument",
"mainlabel=record",
"format=plainlist",
"link=none",
"sep=@@",
"template=Studio appearance row",
"searchlabel=",
"limit=200",
} )
raw = mw.text.unstrip( raw or "" )
raw = raw:gsub( "\127[^\127]*\127", "" ):gsub( "<[^>]+>", "" )
return "raw=[" .. visible( raw ) .. "] then a link: [[4masks]] and another [[Studio sessions test]]"
end
-- The same, but reading the record out of the row the way the module does.
function p.fromrow( frame )
local raw = frame:callParserFunction( "#ask", {
"[[Has performer::Harry Clark]]",
"?Has track name=track",
"mainlabel=record",
"format=plainlist",
"link=none",
"sep=@@",
"template=Studio appearance row",
"searchlabel=",
"limit=200",
} )
raw = mw.text.unstrip( raw or "" )
raw = raw:gsub( "\127[^\127]*\127", "" ):gsub( "<[^>]+>", "" )
local record = raw:match( "^(.-)||" ) or "no match"
record = record:match( "^([^#]*)" ) or record
return "record=[" .. visible( record ) .. "] as a link: [[" .. record .. "]]"
end
return p