Модуль:Sequence/Debug
Материал из проекта «Повелитель Тайн Вики»
Дополнительные действия
Invocation Function
inspectSeqPostProcessContent
Print all contents of sequence data from Module:Sequence/seqPostProcess.
Parameters for
#invoke- Sequence Name
inspectSeqContent
Print all contents of sequence data from Module:Sequence/standard and Module:Sequence/non-standard.
Parameters for
#invoke- Sequence Name
inspectSeqPostProcessKeys
Print all keys pointing to the same sequence from Module:Sequence/seqPostProcess.
Parameters for
#invoke- Sequence Name
local inspect = require("Module:Inspect")
local helpers_wikitext = require("Module:Helpers/WikiText")
local helpers = require("Module:Helpers")
local p = {}
function printDataContent(item, t)
return string.format(
'<b>Data Content of %s</b><br/><pre>%s</pre>',
item,
helpers_wikitext.sanitiseHtml(
inspect(
helpers.materialiseTable(t)
)
)
)
end
function p.inspectSeqPostProcessContent(frame)
local seqs_post_process = mw.loadData("Module:Sequence/seqPostProcess")
local arg1 = frame.args[1]
local seq_data = seqs_post_process[arg1]
return printDataContent(arg1, seq_data)
end
function p.inspectSeqContent(frame)
local seqs_standard = mw.loadData("Module:Sequence/standard")
local seqs_nonstandard = mw.loadData("Module:Sequence/non-standard")
local arg1 = frame.args[1]
local seq_data = seqs_standard[arg1] or seqs_nonstandard[arg1]
return printDataContent(arg1, seq_data)
end
function p.inspectSeqPostProcessKeys(frame)
local seqs_post_process = mw.loadData("Module:Sequence/seqPostProcess")
local arg1 = frame.args[1]
local seq_data = seqs_post_process[arg1]
local result = ""
local target_rank = tonumber(seq_data['seq_rank']) or -1
local target_pathway = seq_data['pathway'] or "Unkown Pathway"
if seq_data == nil then
result = 'Unkown Pathway'
else
local result_keys = {}
for key, item in pairs(seqs_post_process) do
if target_rank == tonumber(item['seq_rank']) and target_pathway == item['pathway'] then
table.insert(result_keys, key)
end
end
if #result_keys == 0 then
result = 'No resulting data'
else
result = table.concat(result_keys, ", ")
end
end
return frame:preprocess(string.format("Keys that point to <b>{{Seq|%s}}</b> (Seq %d, [[%s]]): {{CodeFontN|%s}}", arg1, target_rank, target_pathway, result))
end
function p.inspectPathwayPostProcessContent(frame)
local pathways_post_process = mw.loadData("Module:Sequence/pathwaysPostProcess")
local arg1 = frame.args[1]
local pathway_data = pathways_post_process[arg1]
return printDataContent(arg1, pathway_data)
end
function p.inspectPathwayContent(frame)
local pathways = mw.loadData("Module:Sequence/pathways")
local arg1 = frame.args[1]
local pathway_data = pathways[arg1]
return printDataContent(arg1, pathway_data)
end
function p.inspectPathwayPostProcessKeys(frame)
local pathways_post_process = mw.loadData("Module:Sequence/pathwaysPostProcess")
local arg1 = frame.args[1]
local pathway_data = pathways_post_process[arg1]
local result = ""
local target_name = pathway_data['name'] or "Unkown"
if pathway_data == nil then
result = 'Unkown Pathway'
else
local result_keys = {}
for key, item in pairs(pathways_post_process) do
if target_name == item['name'] then
table.insert(result_keys, key)
end
end
if #result_keys == 0 then
result = 'No resulting data'
else
result = table.concat(result_keys, ", ")
end
end
return frame:preprocess(string.format("Keys that point to <b>{{Pathway|%s}} Pathway</b>: {{CodeFontN|%s}}", target_name, result))
end
return p