Module:Sandbox/User:Alsang: Difference between revisions
Jump to navigation
Jump to search
Content added Content deleted
No edit summary |
(Replaced content with "local p = {} function p.main() return end return p") Tag: Replaced |
||
(5 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
p = {} |
local p = {} |
||
function p.main() |
function p.main() |
||
local query = '[[Category:Guardian Equipment]] AND [[Variant type::~*]]|?#-=name|limit=500' |
|||
local results = mw.smw.ask(query) |
|||
local out = mw.html.create('table') |
|||
:addClass('wikitable sortable') |
|||
for _,page in ipairs(results) do |
|||
out:tag('tr') |
|||
:tag('th') |
|||
:wikitext('[[' .. page.name .. ']]') |
|||
:done() |
|||
:tag('td') |
|||
:wikitext('[[' .. page.name .. ' (basic)]]') |
|||
:done() |
|||
:tag('td') |
|||
:wikitext('[[' .. page.name .. ' (moderate)]]') |
|||
:done() |
|||
:tag('td') |
|||
:wikitext('[[' .. page.name .. ' (fine)]]') |
|||
:done() |
|||
:tag('td') |
|||
:wikitext('[[' .. page.name .. ' (strong)]]') |
|||
:done() |
|||
:tag('td') |
|||
:wikitext('[[' .. page.name .. ' (superior)]]') |
|||
:done() |
|||
:tag('td') |
|||
:wikitext('[[' .. page.name .. ' (perfect)]]') |
|||
:done() |
|||
:done() |
|||
end |
|||
return out |
|||
end |
|||
return |
|||
function p.main2() |
|||
local query = '[[Category:Guardian Equipment]] AND [[Variant type::~*]]|?#-=name|limit=500' |
|||
local results = mw.smw.ask(query) |
|||
local out = mw.html.create('table') |
|||
:addClass('wikitable sortable') |
|||
for _,page in ipairs(results) do |
|||
out:tag('tr') |
|||
:tag('th') |
|||
:wikitext('[[' .. page.name .. ']]') |
|||
:done() |
|||
:tag('td') |
|||
:wikitext('[[File:' .. page.name .. '.png]]') |
|||
:done() |
|||
:tag('td') |
|||
:wikitext('[[File:' .. page.name .. ' (basic).png]]') |
|||
:done() |
|||
:tag('td') |
|||
:wikitext('[[File:' .. page.name .. ' (moderate).png]]') |
|||
:done() |
|||
:tag('td') |
|||
:wikitext('[[File:' .. page.name .. ' (fine).png]]') |
|||
:done() |
|||
:tag('td') |
|||
:wikitext('[[File:' .. page.name .. ' (strong).png]]') |
|||
:done() |
|||
:tag('td') |
|||
:wikitext('[[File:' .. page.name .. ' (superior).png]]') |
|||
:done() |
|||
:tag('td') |
|||
:wikitext('[[File:' .. page.name .. ' (perfect).png]]') |
|||
:done() |
|||
:done() |
|||
end |
|||
return out |
|||
end |
end |
||
function p.main3() |
|||
local query = '[[Category:Guardian Equipment]] AND [[Variant type::~*]]|?#-=name|limit=500' |
|||
local results = mw.smw.ask(query) |
|||
local out = mw.html.create('table') |
|||
:addClass('wikitable sortable') |
|||
for _,page in ipairs(results) do |
|||
out:tag('tr') |
|||
:tag('th') |
|||
:wikitext('[[' .. page.name .. ']]') |
|||
:done() |
|||
:tag('td') |
|||
:wikitext('[[File:' .. page.name .. ' (basic) dye.png]]') |
|||
:done() |
|||
:tag('td') |
|||
:wikitext('[[File:' .. page.name .. ' (moderate) dye.png]]') |
|||
:done() |
|||
:tag('td') |
|||
:wikitext('[[File:' .. page.name .. ' (fine) dye.png]]') |
|||
:done() |
|||
:tag('td') |
|||
:wikitext('[[File:' .. page.name .. ' (strong) dye.png]]') |
|||
:done() |
|||
:tag('td') |
|||
:wikitext('[[File:' .. page.name .. ' (superior) dye.png]]') |
|||
:done() |
|||
:tag('td') |
|||
:wikitext('[[File:' .. page.name .. ' (perfect) dye.png]]') |
|||
:done() |
|||
:done() |
|||
end |
|||
return out |
|||
end |
|||
function p.nodes() |
|||
local query = {'[[~*(skill node)]]', |
|||
'?= node', |
|||
'?Description=nodeDesc', |
|||
'?Has subobject.Dropped item = item', |
|||
'?Has subobject.Dropped item.Description=itemDesc', |
|||
'limit=500', |
|||
'sort=Variant of,Profession Level A' |
|||
} |
|||
local results = mw.smw.ask(query) |
|||
local same = {} |
|||
local onlyitem = {} |
|||
local onlynode = {} |
|||
local neither = {} |
|||
local different = {} |
|||
for _,page in ipairs(results) do |
|||
if page.nodeDesc == nil and page.itemDesc == nil then |
|||
table.insert(neither,page) |
|||
elseif page.nodeDesc == nil and page.itemDesc ~= nil then |
|||
table.insert(onlyitem,page) |
|||
elseif page.nodeDesc ~= nil and page.itemDesc == nil then |
|||
table.insert(onlynode,page) |
|||
elseif page.nodeDesc == page.itemDesc then |
|||
table.insert(same,page) |
|||
else |
|||
table.insert(different,page) |
|||
end |
|||
end |
|||
local onlyitemN = 0 |
|||
for _,_ in ipairs(onlyitem) do |
|||
onlyitemN = onlyitemN + 1 |
|||
end |
|||
local onlynodeN = 0 |
|||
for _,_ in ipairs(onlynode) do |
|||
onlynodeN = onlynodeN + 1 |
|||
end |
|||
local neitherN = 0 |
|||
for _,_ in ipairs(neither) do |
|||
neitherN = neitherN + 1 |
|||
end |
|||
local differentN = 0 |
|||
for _,_ in ipairs(different) do |
|||
differentN = differentN + 1 |
|||
end |
|||
local out = mw.html.create('table') |
|||
:addClass('wikitable sortable') |
|||
:tag('tr') |
|||
:tag('th') |
|||
:wikitext('Item only') |
|||
:done() |
|||
:tag('td') |
|||
:wikitext(onlyitemN) |
|||
:done() |
|||
:done() |
|||
:tag('tr') |
|||
:tag('th') |
|||
:wikitext('Node') |
|||
:done() |
|||
:tag('th') |
|||
:wikitext('Node description') |
|||
:done() |
|||
:tag('th') |
|||
:wikitext('Item') |
|||
:done() |
|||
:tag('th') |
|||
:wikitext('Item description') |
|||
:done() |
|||
:done() |
|||
for _,page in ipairs(onlyitem) do |
|||
out:tag('tr') |
|||
:tag('td') |
|||
:wikitext(page.node) |
|||
:done() |
|||
:tag('td') |
|||
:wikitext(page.nodeDesc) |
|||
:done() |
|||
:tag('td') |
|||
:wikitext(page.item) |
|||
:done() |
|||
:tag('td') |
|||
:wikitext(page.itemDesc) |
|||
:done() |
|||
:done() |
|||
end |
|||
out:tag('tr') |
|||
:tag('th') |
|||
:wikitext('Node only') |
|||
:done() |
|||
:tag('td') |
|||
:wikitext(onlynodeN) |
|||
:done() |
|||
:done() |
|||
:tag('tr') |
|||
:tag('th') |
|||
:wikitext('Node') |
|||
:done() |
|||
:tag('th') |
|||
:wikitext('Node description') |
|||
:done() |
|||
:tag('th') |
|||
:wikitext('Item') |
|||
:done() |
|||
:tag('th') |
|||
:wikitext('Item description') |
|||
:done() |
|||
:done() |
|||
for _,page in ipairs(onlynode) do |
|||
out:tag('tr') |
|||
:tag('td') |
|||
:wikitext(page.node) |
|||
:done() |
|||
:tag('td') |
|||
:wikitext(page.nodeDesc) |
|||
:done() |
|||
:tag('td') |
|||
:wikitext(page.item) |
|||
:done() |
|||
:tag('td') |
|||
:wikitext(page.itemDesc) |
|||
:done() |
|||
:done() |
|||
end |
|||
out:tag('tr') |
|||
:tag('th') |
|||
:wikitext('Niether') |
|||
:done() |
|||
:tag('td') |
|||
:wikitext(neitherN) |
|||
:done() |
|||
:done() |
|||
:tag('tr') |
|||
:tag('th') |
|||
:wikitext('Node') |
|||
:done() |
|||
:tag('th') |
|||
:wikitext('Node description') |
|||
:done() |
|||
:tag('th') |
|||
:wikitext('Item') |
|||
:done() |
|||
:tag('th') |
|||
:wikitext('Item description') |
|||
:done() |
|||
:done() |
|||
for _,page in ipairs(neither) do |
|||
out:tag('tr') |
|||
:tag('td') |
|||
:wikitext(page.node) |
|||
:done() |
|||
:tag('td') |
|||
:wikitext(page.nodeDesc) |
|||
:done() |
|||
:tag('td') |
|||
:wikitext(page.item) |
|||
:done() |
|||
:tag('td') |
|||
:wikitext(page.itemDesc) |
|||
:done() |
|||
:done() |
|||
end |
|||
out:tag('tr') |
|||
:tag('th') |
|||
:wikitext('Different') |
|||
:done() |
|||
:tag('td') |
|||
:wikitext(differentN) |
|||
:done() |
|||
:done() |
|||
:tag('tr') |
|||
:tag('th') |
|||
:wikitext('Node') |
|||
:done() |
|||
:tag('th') |
|||
:wikitext('Node description') |
|||
:done() |
|||
:tag('th') |
|||
:wikitext('Item') |
|||
:done() |
|||
:tag('th') |
|||
:wikitext('Item description') |
|||
:done() |
|||
:done() |
|||
for _,page in ipairs(different) do |
|||
out:tag('tr') |
|||
:tag('td') |
|||
:wikitext(page.node) |
|||
:done() |
|||
:tag('td') |
|||
:wikitext(page.nodeDesc) |
|||
:done() |
|||
:tag('td') |
|||
:wikitext(page.item) |
|||
:done() |
|||
:tag('td') |
|||
:wikitext(page.itemDesc) |
|||
:done() |
|||
:done() |
|||
end |
|||
return out |
|||
end |
|||
return p |
return p |
Latest revision as of 12:51, 6 January 2025
Module documentation
This documentation is transcluded from Module:Sandbox/User:Alsang/doc. [edit] [history] [purge]
This module does not have any documentation. Please consider adding documentation at Module:Sandbox/User:Alsang/doc. [edit]
Module:Sandbox/User:Alsang's function main is invoked by Template:Sandbox/User:Alsang.