Module:Sandbox/User:Alsang/PriceChecker: Difference between revisions
Jump to navigation
Jump to search
Content added Content deleted
No edit summary |
No edit summary |
||
Line 6: | Line 6: | ||
-- other parameters are determined by subqueries of chained pages |
-- other parameters are determined by subqueries of chained pages |
||
local query = { |
local query = { |
||
'[[-Sold item::+]]', |
'[[-Sold item.Shop sell price::+]]', |
||
'?=Name', |
'?=Name', |
||
'?-Sold item.Shop sell price=ShopValue', |
'?-Sold item.Shop sell price=ShopValue', |
||
Line 21: | Line 21: | ||
local add = true |
local add = true |
||
if type(s)=='string' then |
if type(s)=='string' then |
||
if i==tonumber(s) then |
if i==tonumber(s) or not(tonumber(s)) then |
||
add = false |
add = false |
||
end |
end |
||
elseif type(s)=='table' then |
elseif type(s)=='table' then |
||
for _,shop in ipairs(s) do |
for _,shop in ipairs(s) do |
||
if i==tonumber(shop) then |
if i==tonumber(shop) or not(tonumber(shop)) then |
||
add = false |
add = false |
||
end |
end |
Revision as of 20:02, 6 January 2025
Module documentation
This documentation is transcluded from Module:Sandbox/User:Alsang/PriceChecker/doc. [edit] [history] [purge]
This module does not have any documentation. Please consider adding documentation at Module:Sandbox/User:Alsang/PriceChecker/doc. [edit]
Module:Sandbox/User:Alsang/PriceChecker's function main is invoked by Template:Sandbox/User:Alsang/PriceChecker.
local p = {}
-- non dynamic module, no inputs
function p.main()
-- returns only directly needed parameter needed for the row,
-- other parameters are determined by subqueries of chained pages
local query = {
'[[-Sold item.Shop sell price::+]]',
'?=Name',
'?-Sold item.Shop sell price=ShopValue',
'?Value=InfoboxValue',
'limit = 500'
}
local results = mw.smw.ask(query)
local out = {}
for _,item in ipairs(results) do
local i = tonumber(item.InfoboxValue)
local s = item.ShopValue
local add = true
if type(s)=='string' then
if i==tonumber(s) or not(tonumber(s)) then
add = false
end
elseif type(s)=='table' then
for _,shop in ipairs(s) do
if i==tonumber(shop) or not(tonumber(shop)) then
add = false
end
end
end
if add then
table.insert(out,item.Name)
end
end
return table.concat(out, '<br>')
end
return p