From c04ddfdd114063e69357fc82e8bd7e61d0636493 Mon Sep 17 00:00:00 2001 From: Manuel Simon Hirsig Date: Sat, 16 Jan 2016 19:00:59 +0100 Subject: [PATCH] very basic history implemented --- Aux-AddOn.toc | 1 + core.lua | 4 ++-- scan.lua | 8 +++++++- scan_frame.lua | 23 ++++++++--------------- slash.lua | 12 ++++++++++++ stat_average.lua | 5 +++-- 6 files changed, 33 insertions(+), 20 deletions(-) create mode 100644 slash.lua diff --git a/Aux-AddOn.toc b/Aux-AddOn.toc index 51b7031..62f062c 100644 --- a/Aux-AddOn.toc +++ b/Aux-AddOn.toc @@ -5,6 +5,7 @@ ## SavedVariablesPerCharacter: aux_recently_searched, aux_view, AUX_SELL_SHORTCUT, AUX_BUY_SHORTCUT, AUX_OPEN_SELL, AUX_OPEN_BUY, AUX_INSTANT_BUYOUT, AUX_AUCTION_DURATION ## SavedVariables: aux_database +slash.lua core.xml control.xml persistence.lua diff --git a/core.lua b/core.lua index ad8430f..4109544 100644 --- a/core.lua +++ b/core.lua @@ -1,4 +1,4 @@ -AuxVersion = '2.1.8' +AuxVersion = '2.2.0' AuxAuthors = 'shirsig; Zerf; Zirco (Auctionator); Nimeral (Auctionator backport)' local lastRightClickAction = GetTime() @@ -40,7 +40,7 @@ function Aux_OnLoad() EnhTooltip.AddLine('Never seen at auction', nil, true) EnhTooltip.LineColor(0.5, 0.8, 0.5) else - EnhTooltip.AddLine('Seen '..auction_count..' '..Aux_PluralizeIf('time', auction_count)..' at auction total', nil, true) + EnhTooltip.AddLine('Seen '..auction_count..' '..Aux_PluralizeIf('time', auction_count)..' at auction', nil, true) EnhTooltip.LineColor(0.5, 0.8, 0.1) local unit_value = Aux.stat_average.get_mean(item_key) diff --git a/scan.lua b/scan.lua index a927e9b..5e1b18e 100644 --- a/scan.lua +++ b/scan.lua @@ -145,7 +145,13 @@ function scan_auctions_helper(i, n, k) local auction_info = Aux.info.auction(i, state.job.type) if auction_info then - wait_for_callback{state.job.on_read_auction, auction_info, recurse} + wait_for_callback{state.job.on_read_auction, auction_info, recurse } + + local snapshot = Aux.persistence.load_snapshot() + if not snapshot.contains(auction_info.signature) then + snapshot.add(auction_info.signature) + Aux.stat_average.process_auction(auction_info) + end else recurse() end diff --git a/scan_frame.lua b/scan_frame.lua index 37b0252..ed49357 100644 --- a/scan_frame.lua +++ b/scan_frame.lua @@ -15,8 +15,8 @@ function public.start_scan() -- return -- end - AuxHistoryScanButton:Hide() - AuxHistoryStopButton:Show() +-- AuxHistoryScanButton:Hide() +-- AuxHistoryStopButton:Show() private.scanned_signatures = Aux.util.set() @@ -32,15 +32,15 @@ function public.start_scan() end, on_complete = function() private.update_snapshot() - - AuxHistoryStopButton:Hide() - AuxHistoryScanButton:Show() + Aux.log('Scan complete: Old auctions were removed from the snapshot.') +-- AuxHistoryStopButton:Hide() +-- AuxHistoryScanButton:Show() end, on_abort = function() - private.update_snapshot() - AuxHistoryStopButton:Hide() - AuxHistoryScanButton:Show() + Aux.log('Scanning aborted.') +-- AuxHistoryStopButton:Hide() +-- AuxHistoryScanButton:Show() end, next_page = function(page, total_pages) local last_page = max(total_pages - 1, 0) @@ -66,11 +66,4 @@ end function private.process_auction(auction_info) private.scanned_signatures.add(auction_info.signature) - - local snapshot = Aux.persistence.load_snapshot() - - if not snapshot.contains(auction_info.signature) then - snapshot.add(auction_info.signature) - Aux.stat_average.process_auction(auction_info) - end end diff --git a/slash.lua b/slash.lua new file mode 100644 index 0000000..e5cd65f --- /dev/null +++ b/slash.lua @@ -0,0 +1,12 @@ +SLASH_AUX1 = '/aux' +function SlashCmdList.AUX(parameter) + if parameter == 'scan' then + Aux.history_frame.start_scan() + elseif parameter == 'clear snapshot' then + Aux.persistence.load_dataset().snapshot = {} + Aux.log('Snapshot cleared.') + elseif parameter == 'clear database' then + aux_database = {} + Aux.log('Database cleared.') + end +end \ No newline at end of file diff --git a/stat_average.lua b/stat_average.lua index 662ce78..6581c3d 100644 --- a/stat_average.lua +++ b/stat_average.lua @@ -2,7 +2,7 @@ local private, public = {}, {} Aux.stat_average = public private.PUSH_INTERVAL = 57600 -private.NEW_RECORD = '0:0:0:0:0:0:0:0:0:0:0' +private.NEW_RECORD = '0:0:0:0:0:0:0:0:0:0' function private.load_data() local dataset = Aux.persistence.load_dataset() @@ -125,8 +125,9 @@ end function private.push_data() local data = private.load_data() + local item_data = data.item_data - for item_key, _ in pairs(data) do + for item_key, _ in pairs(item_data) do local item_record = public.read_record(item_key) local _, daily_auction_count, daily_unit_count, daily_accumulated_buyout, daily_min_buyout, seen_days, EMA3, EMA7, EMA14, average_min_buyout = unpack(item_record)