Module:Sandbox/User:Alsang: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 5:
local query = '[[Category:Guardian Equipment]] AND [[Variant type::~*]]|?#-=name|limit=500'
local results = mw.smw.ask(query)
local out = mw.html.create('table')
Line 118 ⟶ 117:
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
 
 
20,877

edits