1,131
edits
No edit summary |
mNo edit summary |
||
| (25 intermediate revisions by the same user not shown) | |||
| Line 12: | Line 12: | ||
local yesNo = require("Module:Yesno") | local yesNo = require("Module:Yesno") | ||
local purge = require("Module:Purge")._purge | local purge = require("Module:Purge")._purge | ||
local inspect = require("Module:Inspect") | |||
local p2pIcon = '[[File:Member icon.png|frameless|link=Pay-to-play]]' | --local p2pIcon = '[[File:Member icon.png|frameless|link=Pay-to-play]]' | ||
local f2pIcon = '[[File:Free-to-play icon.png|frameless|link=Free-to-play]]' | --local f2pIcon = '[[File:Free-to-play icon.png|frameless|link=Free-to-play]]' | ||
local p2pIcon = 'Yes' | |||
local f2pIcon = 'No' | |||
function p.main(frame) | function p.main(frame) | ||
| Line 20: | Line 24: | ||
end | end | ||
function p._main(args) | function p._main(args) | ||
| Line 51: | Line 43: | ||
:tag('th'):wikitext('Seller'):done() | :tag('th'):wikitext('Seller'):done() | ||
:tag('th'):wikitext('Location'):done() | :tag('th'):wikitext('Location'):done() | ||
:tag('th'):wikitext(' | :tag('th'):wikitext('Buyable for'):attr('data-sort-type', 'number'):done() | ||
:tag('th'):wikitext(' | :tag('th'):wikitext('Sellable for'):attr('data-sort-type', 'number'):done() | ||
:tag('th'):wikitext('Members?'):done() | :tag('th'):wikitext('Members?'):done() | ||
:done() | :done() | ||
| Line 60: | Line 52: | ||
:tag('td'):wikitext(shop.seller):done() | :tag('td'):wikitext(shop.seller):done() | ||
:tag('td'):wikitext(location):done() | :tag('td'):wikitext(location):done() | ||
:tag('td') | |||
:attr({['data-sort-value']=shop.buySortValue}) | |||
:wikitext(shop.buyvalue) | |||
:done() | |||
:tag('td') | :tag('td') | ||
:attr({['data-sort-value']=shop.sellSortValue}) | :attr({['data-sort-value']=shop.sellSortValue}) | ||
:wikitext(shop.sellvalue) | :wikitext(shop.sellvalue) | ||
:done() | :done() | ||
:tag('td') | :tag('td') | ||
| Line 75: | Line 67: | ||
-- Create the rows for the output table | -- Create the rows for the output table | ||
for _, shop in ipairs(data) do | for _, shop in ipairs(data) do | ||
for i, location in ipairs(shop.location) do | for i, location in ipairs(shop.location) do | ||
addShopRow(shop, location) | addShopRow(shop, location) | ||
| Line 109: | Line 99: | ||
'?Store currency #', | '?Store currency #', | ||
'?Store notes', | '?Store notes', | ||
'?Members #', | |||
'?Is members only #', | |||
offset = 0, | offset = 0, | ||
limit = limit or 500, | limit = limit or 500, | ||
| Line 121: | Line 113: | ||
end | end | ||
mw.log(string.format('SMW (store locations list): entries: %d, time elapsed: %.3f ms.', #smwdata, (t2 - t1) * 1000)) | mw.log(string.format('SMW (store locations list): entries: %d, time elapsed: %.3f ms.', #smwdata, (t2 - t1) * 1000)) | ||
table.sort(smwdata, function(a, b) return b['Store sell price'] < a['Store sell price'] end) | table.sort(smwdata, function(a, b) return b['Store sell price'] < a['Store sell price'] end) | ||
| Line 133: | Line 123: | ||
table.insert(members, item['Store Is members only']) | table.insert(members, item['Store Is members only']) | ||
elseif type(item['Is members only']) == 'boolean' then | elseif type(item['Is members only']) == 'boolean' then | ||
table.insert(members, item['Is members only']) | |||
elseif type(item['Is members only']) == 'string' then | |||
table.insert(members, item['Is members only']) | table.insert(members, item['Is members only']) | ||
end | end | ||
| Line 154: | Line 145: | ||
-- item['Region'] = region | -- item['Region'] = region | ||
if #members == 1 then | if #members == 1 then | ||
| Line 170: | Line 158: | ||
-- Process the item and add it to the final data table | -- Process the item and add it to the final data table | ||
local dataline = p.processData(item, editbtn) | local dataline = p.processData(item, editbtn) | ||
table.insert(data, dataline) | table.insert(data, dataline) | ||
| Line 201: | Line 187: | ||
local sellvalue = item['Store sell price'] or '' | local sellvalue = item['Store sell price'] or '' | ||
local sellSortValue = 0 | local sellSortValue = 0 | ||
mw.log("sellvalue", sellvalue) | |||
mw.log("sell is 1e10", tonumber(sellvalue) == 1e10) | |||
if not(sellvalue == 1e10) then | if not(sellvalue =='N/A') and not(tonumber(sellvalue) == 1e10) then | ||
sellvalue = tonumber(sellvalue) | sellvalue = tonumber(sellvalue) | ||
| Line 223: | Line 212: | ||
sellvalue = 'N/A' | sellvalue = 'N/A' | ||
end | end | ||
mw.log("sellvalue 2", sellvalue) | |||
local buyvalue = item['Store buy price'] or '' | local buyvalue = item['Store buy price'] or '' | ||
local buySortValue = 0 | local buySortValue = 0 | ||
if not(buyvalue == 'N/A') then | |||
mw.log("buyvalue", buyvalue) | |||
mw.log("buy is 1e10", tonumber(buyvalue) == 1e10) | |||
if not(buyvalue == 'N/A') and not(tonumber(buyvalue) == 1e10) then | |||
buyvalue = tonumber(buyvalue) | buyvalue = tonumber(buyvalue) | ||
mw.log("buyvalue 2", buyvalue) | |||
if buyvalue then | if buyvalue then | ||
buySortValue = buyvalue | buySortValue = buyvalue | ||
| Line 240: | Line 240: | ||
-- buyvalue = currencyImg .. buyvalue | -- buyvalue = currencyImg .. buyvalue | ||
-- end | -- end | ||
else | |||
buyvalue = editbtn -- If buyvalue can't be converted to a number it will default to the edit button | |||
end | |||
else | |||
buySortValue = buyvalue | |||
buyvalue = 'N/A' | |||
end | |||
-- members only? | -- members only? | ||
local members = item['Members'] | local members = item['Members'] | ||
if type(members) == 'table' then | if type(members) == 'table' then | ||
-- contains yes and/or no | -- contains yes and/or no | ||
| Line 275: | Line 277: | ||
members = editbtn | members = editbtn | ||
end | end | ||
return { | return { | ||