Module:Module introspection: Difference between revisions

Ganaram inukshuk (talk | contribs)
mNo edit summary
Ganaram inukshuk (talk | contribs)
add function/dependency counts to tables instaed
Line 129: Line 129:
-- Given the output of the above function, create a mediawiki table
-- Given the output of the above function, create a mediawiki table
function p.make_dependency_table(module_deps)
function p.make_dependency_table(module_deps)
-- Count the number of dependencies
local num_deps = 0
for k, v in pairs(module_deps) do
num_deps = num_deps + 1
end
-- Table headers
local lines = {}
local lines = {}
-- Table header
table.insert(lines, '{| class="wikitable sortable mw-collapsible"')
table.insert(lines, '{| class="wikitable sortable mw-collapsible"')
table.insert(lines, "|+ Modules used")
table.insert(lines, "|+ Modules used " .. string.format("(%d)", num_deps))
table.insert(lines, "! Variable")
table.insert(lines, "! Variable")
table.insert(lines, "! Module")
table.insert(lines, "! Module")
table.insert(lines, "! Functions used")
table.insert(lines, "! Functions used")


-- Table rows
for var, info in pairs(module_deps) do
for var, info in pairs(module_deps) do
local funcs_text
local funcs_text
Line 193: Line 200:
function p.make_function_table(module_name, module_funcs, main_function)
function p.make_function_table(module_name, module_funcs, main_function)
-- Table headers
local lines = {}
local lines = {}
--table.insert(lines, string.format("'''Module:%s''' provides %d function(s):", module_name, #module_funcs))
--table.insert(lines, string.format("'''Module:%s''' provides %d function(s):", module_name, #module_funcs))
table.insert(lines, '{| class="wikitable sortable mw-collapsible"')
table.insert(lines, '{| class="wikitable sortable mw-collapsible"')
table.insert(lines, "|+ Functions provided")
table.insert(lines, "|+ Functions provided " .. string.format("(%d", #module_funcs))
table.insert(lines, "! Function")
table.insert(lines, "! Function")
table.insert(lines, "! Line")
table.insert(lines, "! Line")


-- Table rows
for _, info in ipairs(module_funcs) do
for _, info in ipairs(module_funcs) do
local link = string.format("[[Module:%s#L-%d|%s]]", module_name, info.line, info.name)
local link = string.format("[[Module:%s#L-%d|%s]]", module_name, info.line, info.name)
Line 241: Line 250:
-- Count the number of modules used
-- Count the number of modules used
local num_deps = 0
 
for k, v in pairs(module_deps) do
num_deps = num_deps + 1
end


-- Return the tables as strings
-- Return the tables as strings
local summary = string.format("'''Introspection summary:''' Module:%s has %d available function(s) and uses %d Lua module(s) as dependencies.", module_name, #module_funcs, num_deps)
local summary = "'''Introspection summary'''"
local combined_tables = table.concat({
local combined_tables = table.concat({
"{|",
"{|",