Module:Sandbox/Moxian/OmenOfFortune: Difference between revisions

From Path of Exile Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 12: Line 12:
join = 'items_u.base_item_id=items_b.metadata_id',
join = 'items_u.base_item_id=items_b.metadata_id',
groupBy = 'items_b.metadata_id',
groupBy = 'items_b.metadata_id',
--limit = 10,
-- limit = 10,
}
}
local results = cargo.query(tables, fields, args)
local results = cargo.query(tables, fields, args)
Line 21: Line 21:
local result = results[r]
local result = results[r]
if result["cnt"] == "1" then  -- filtering to only the items that have a single base
if result["cnt"] == "1" then  -- filtering to only the items that have a single base
-- next table row
table.insert(out_chunks, "|-\n|| ")
-- <base item class>
-- <base item class>
table.insert(out_chunks, "\n|-\n| ")
table.insert(out_chunks, result["class_b"])
table.insert(out_chunks, result["class_b"])
-- {{il|page=<base item here>}}
-- {{il|page=<base item here>}}
table.insert(out_chunks, "\n| ")
table.insert(out_chunks, frame:expandTemplate{title="il", args = {page=result["page_b"]}})
table.insert(out_chunks, frame:expandTemplate{title="il", args = {page=result["page_b"]}})
-- next table column
table.insert(out_chunks, "\n|| ")
-- {{il|page=<unique item here>}}
-- {{il|page=<unique item here>}}
table.insert(out_chunks, "\n| ")
table.insert(out_chunks, frame:expandTemplate{title="il", args = {page=result ["page_u"]}})
table.insert(out_chunks, frame:expandTemplate{title="il", args = {page=result ["page_u"]}})
end
end
end
end
table.insert(out_chunks, "\n|}") -- table footer
local out = table.concat(out_chunks,"")
local out = table.concat(out_chunks,"")
return out
return out
end
end
return p
return p

Revision as of 00:37, 25 May 2024

Module documentation[create] [purge]
require('Module:No globals')
local m_util = require('Module:Util')
local cargo = mw.ext.cargo
-- local m_cargo = require('Module:Cargo')

local p = {}
function p.guaranteed_uniques_rows(frame)
	local tables = "items=items_u,items=items_b"
	local fields = "COUNT(items_u.name)=cnt, items_b.class=class_b, items_b._pageName=page_b, items_u._pageName=page_u, items_u.inventory_icon=icon_u, items_b.inventory_icon=icon_b"
	local args = {
		where = 'items_u.rarity="unique" AND items_u.drop_enabled AND NOT items_u.is_drop_restricted AND items_b.drop_enabled',
		join = 'items_u.base_item_id=items_b.metadata_id',
		groupBy = 'items_b.metadata_id',
		-- limit = 10,
	}
	local results = cargo.query(tables, fields, args)
	local out_chunks = {}
	-- table header
	table.insert(out_chunks, '{| class="wikitable sortable mw-collapsible mw-collapsed"\n! scope="col" |Class\n! scope="col" |Basetype\n! scope="col" |Result\n')
	for r=1, #results do
		local result = results[r]
		if result["cnt"] == "1" then  -- filtering to only the items that have a single base
			-- <base item class>
			table.insert(out_chunks, "\n|-\n| ") 
			table.insert(out_chunks, result["class_b"])
			-- {{il|page=<base item here>}}
			table.insert(out_chunks, "\n| ") 
			table.insert(out_chunks, frame:expandTemplate{title="il", args = {page=result["page_b"]}})
			-- {{il|page=<unique item here>}}
			table.insert(out_chunks, "\n| ")
			table.insert(out_chunks, frame:expandTemplate{title="il", args = {page=result ["page_u"]}})
		end
	end
	table.insert(out_chunks, "\n|}") -- table footer
	local out = table.concat(out_chunks,"")
	return out
end
return p