70 lines
1.7 KiB
Lua
70 lines
1.7 KiB
Lua
local private, public = {}, {}
|
|
Aux.history_frame = public
|
|
|
|
function public.on_close()
|
|
|
|
end
|
|
|
|
function public.on_open()
|
|
|
|
end
|
|
|
|
function public.start_scan()
|
|
|
|
-- if not AuxHistoryScanButton:IsVisible() then
|
|
-- return
|
|
-- end
|
|
|
|
-- AuxHistoryScanButton:Hide()
|
|
-- AuxHistoryStopButton:Show()
|
|
|
|
private.scanned_signatures = Aux.util.set()
|
|
|
|
Aux.log('Scanning auctions ...')
|
|
Aux.scan.start{
|
|
query = {},
|
|
page = 0,
|
|
on_page_loaded = function(page, total_pages)
|
|
Aux.log('Scanning page '..(page+1)..' out of '..total_pages..' ...')
|
|
end,
|
|
on_read_auction = function(auction_info)
|
|
private.process_auction(auction_info)
|
|
end,
|
|
on_complete = function()
|
|
private.update_snapshot()
|
|
Aux.log('Scan complete: Old auctions were removed from the snapshot.')
|
|
-- AuxHistoryStopButton:Hide()
|
|
-- AuxHistoryScanButton:Show()
|
|
end,
|
|
on_abort = function()
|
|
|
|
Aux.log('Scanning aborted.')
|
|
-- AuxHistoryStopButton:Hide()
|
|
-- AuxHistoryScanButton:Show()
|
|
end,
|
|
next_page = function(page, total_pages)
|
|
local last_page = max(total_pages - 1, 0)
|
|
if page < last_page then
|
|
return page + 1
|
|
end
|
|
end,
|
|
}
|
|
end
|
|
|
|
function public.stop_scan()
|
|
Aux.scan.abort()
|
|
end
|
|
|
|
function private.update_snapshot()
|
|
local snapshot = Aux.persistence.load_snapshot()
|
|
for _, sig in ipairs(snapshot.values()) do
|
|
if not private.scanned_signatures.contains(sig) then
|
|
snapshot.remove(sig)
|
|
end
|
|
end
|
|
end
|
|
|
|
function private.process_auction(auction_info)
|
|
private.scanned_signatures.add(auction_info.signature)
|
|
end
|