Browse Source

remove getall and add inventory buttons

dev
Jørgen Lien Sellæg 4 months ago
parent
commit
6157f813bf
  1. 4
      TradeSkillMaster/Auction/AuctionScanning.lua
  2. 6
      TradeSkillMaster_AuctionDB/Locale/deDE.lua
  3. 14
      TradeSkillMaster_AuctionDB/Locale/enUS.lua
  4. 6
      TradeSkillMaster_AuctionDB/Locale/esES.lua
  5. 6
      TradeSkillMaster_AuctionDB/Locale/esMX.lua
  6. 6
      TradeSkillMaster_AuctionDB/Locale/frFR.lua
  7. 6
      TradeSkillMaster_AuctionDB/Locale/koKR.lua
  8. 6
      TradeSkillMaster_AuctionDB/Locale/ptBR.lua
  9. 6
      TradeSkillMaster_AuctionDB/Locale/ruRU.lua
  10. 6
      TradeSkillMaster_AuctionDB/Locale/zhCN.lua
  11. 6
      TradeSkillMaster_AuctionDB/Locale/zhTW.lua
  12. 2
      TradeSkillMaster_AuctionDB/Modules/ChannelSync.lua
  13. 195
      TradeSkillMaster_AuctionDB/Modules/GUI.lua
  14. 277
      TradeSkillMaster_AuctionDB/Modules/Scanning.lua
  15. 23
      TradeSkillMaster_AuctionDB/Modules/config.lua
  16. 7
      TradeSkillMaster_AuctionDB/Modules/data.lua
  17. 1
      TradeSkillMaster_AuctionDB/TradeSkillMaster_AuctionDB.lua

4
TradeSkillMaster/Auction/AuctionScanning.lua

@ -407,6 +407,10 @@ function TSMAPI.AuctionScan:IsPaused()
return private.isPaused and true or false return private.isPaused and true or false
end end
function TSMAPI.AuctionScan:IsScanning()
return private.isScanning and true or false
end
-- Gets the number of pages for a given query -- Gets the number of pages for a given query
function TSMAPI.AuctionScan:GetNumPages(query, callbackHandler) function TSMAPI.AuctionScan:GetNumPages(query, callbackHandler)

6
TradeSkillMaster_AuctionDB/Locale/deDE.lua

@ -13,14 +13,11 @@
local L = LibStub("AceLocale-3.0"):NewLocale("TradeSkillMaster_AuctionDB", "deDE") local L = LibStub("AceLocale-3.0"):NewLocale("TradeSkillMaster_AuctionDB", "deDE")
if not L then return end if not L then return end
L["A full auction house scan will scan every item on the auction house but is far slower than a GetAll scan. Expect this scan to take several minutes or longer."] = "Ein voller Auktionshausscan wird jedes einzelne Item im Auktionshaus scannen, ist aber sehr viel langsamer als der GetAll-Scan. Erwarte, dass es mehrere Minuten dauert oder länger."
L["A GetAll scan is the fastest in-game method for scanning every item on the auction house. However, there are many possible bugs on Blizzard's end with it including the chance for it to disconnect you from the game. Also, it has a 15 minute cooldown. You can disable the GetAll button via TSM's AuctionDB options if this feature doesn't work well on your server."] = "Ein GetAll-Scan ist die schnellste Methode, um in-game alle Gegenstände im Auktionshaus zu scannen. Allerdings gibt es viele mögliche Bugs seitens Blizzard die auftreten können, inklusive der Möglichkeit, dass deine Verbindung zum Spiel getrennt wird. Außerdem gibt es einen 15-Minuten-Cooldown. You can disable the GetAll button via TSM's AuctionDB options if this feature doesn't work well on your server." -- Needs review
L["Any items in the AuctionDB database that contain the search phrase in their names will be displayed."] = "Es werden alle Gegenstände in der \"AuctionDB\" Datenbank angezeigt, deren Namen mit der Sucheingabe übereinstimmen." L["Any items in the AuctionDB database that contain the search phrase in their names will be displayed."] = "Es werden alle Gegenstände in der \"AuctionDB\" Datenbank angezeigt, deren Namen mit der Sucheingabe übereinstimmen."
L["Are you sure you want to clear your AuctionDB data?"] = "Sind Sie sicher, dass Sie die \"AuctionDB\" Daten löschen wollen?" L["Are you sure you want to clear your AuctionDB data?"] = "Sind Sie sicher, dass Sie die \"AuctionDB\" Daten löschen wollen?"
L["Ascending"] = "Aufsteigend" L["Ascending"] = "Aufsteigend"
L["AuctionDB - Market Value"] = "AuctionDB - Marktwert" L["AuctionDB - Market Value"] = "AuctionDB - Marktwert"
L["AuctionDB - Minimum Buyout"] = "AuctionDB - Mindestpreis" L["AuctionDB - Minimum Buyout"] = "AuctionDB - Mindestpreis"
L["Can't run a GetAll scan right now."] = "Kann im Moment keinen GetAll Scan durchführen."
L["Descending"] = "Absteigend" L["Descending"] = "Absteigend"
L["Display lowest buyout value seen in the last scan in tooltip."] = "Zeige den niedrigsten Sofortkauf-Betrag aus dem letzten Scan im Tooltip." L["Display lowest buyout value seen in the last scan in tooltip."] = "Zeige den niedrigsten Sofortkauf-Betrag aus dem letzten Scan im Tooltip."
L["Display market value in tooltip."] = "Zeige Marktwert im Tooltip." L["Display market value in tooltip."] = "Zeige Marktwert im Tooltip."
@ -29,7 +26,6 @@ L["Display total number of items ever seen in tooltip."] = "Zeige Gesamtzahl der
L["Done Scanning"] = "Scannen beendet" L["Done Scanning"] = "Scannen beendet"
L["Download the FREE TSM desktop application which will automatically update your TSM_AuctionDB prices using Blizzard's online APIs (and does MUCH more). Visit %s for more info and never scan the AH again! This is the best way to update your AuctionDB prices."] = "Lade die KOSTENLOSE TSM Desktopsoftware herunter die automatisch deine TSM_AuctionDB mit den Preisen aus Blizzard's online API aktualisiert (und noch VIEL mehr kann). Besuche %s für weitere Informationen und scanne das AH nie wieder! Dies ist die beste Art deine AuctionDB Preise aktuell zu halten." L["Download the FREE TSM desktop application which will automatically update your TSM_AuctionDB prices using Blizzard's online APIs (and does MUCH more). Visit %s for more info and never scan the AH again! This is the best way to update your AuctionDB prices."] = "Lade die KOSTENLOSE TSM Desktopsoftware herunter die automatisch deine TSM_AuctionDB mit den Preisen aus Blizzard's online API aktualisiert (und noch VIEL mehr kann). Besuche %s für weitere Informationen und scanne das AH nie wieder! Dies ist die beste Art deine AuctionDB Preise aktuell zu halten."
L["Enable display of AuctionDB data in tooltip."] = "Aktiviere die Anzeige der AuctionDB-Daten im Tooltip." L["Enable display of AuctionDB data in tooltip."] = "Aktiviere die Anzeige der AuctionDB-Daten im Tooltip."
L["GetAll scan did not run successfully due to issues on Blizzard's end. Using the TSM application for your scans is recommended."] = "GetAll scan nicht erfolgreich aufgrund von Problemen bei Blizzard. Nutzung der TSM Software für deinen Scan wird empfohlen."
L["Hide poor quality items"] = "Verstecke Gegenstände schlechter Qualität" L["Hide poor quality items"] = "Verstecke Gegenstände schlechter Qualität"
L["If checked, poor quality items won't be shown in the search results."] = "Wenn markiert, tauchen Gegenstände schlechter Qualität nicht in den Suchergebnissen auf." L["If checked, poor quality items won't be shown in the search results."] = "Wenn markiert, tauchen Gegenstände schlechter Qualität nicht in den Suchergebnissen auf."
L["If checked, the lowest buyout value seen in the last scan of the item will be displayed."] = "Wenn ausgewählt, wird der niedrigste Sofortkaufpreis der im letzten Scan gefunden wurde angezeigt." L["If checked, the lowest buyout value seen in the last scan of the item will be displayed."] = "Wenn ausgewählt, wird der niedrigste Sofortkaufpreis der im letzten Scan gefunden wurde angezeigt."
@ -44,7 +40,6 @@ L["Items per page"] = "Gegenstände pro Seite"
L["Items %s - %s (%s total)"] = "Gegenstände %s - %s (%s gesamt)" L["Items %s - %s (%s total)"] = "Gegenstände %s - %s (%s gesamt)"
L["Item SubType Filter"] = "Gegenstands-Unterkategorie-Filter" L["Item SubType Filter"] = "Gegenstands-Unterkategorie-Filter"
L["Item Type Filter"] = "Gegenstands-Kategorie-Filter" L["Item Type Filter"] = "Gegenstands-Kategorie-Filter"
L["It is strongly recommended that you reload your ui (type '/reload') after running a GetAll scan. Otherwise, any other scans (Post/Cancel/Search/etc) will be much slower than normal."] = "Es wird sehr empfohlen, dass du die UI neu lädst (tippe \"/reload\"), nachdem du einen GetAll-Scan gemacht hast. Sonst werden andere Scans (Posten/Abbrechen/Suchen/etc) sehr viel langsamer als Normal laufen."
L["Last Scanned"] = "Zuletzt gescannt" L["Last Scanned"] = "Zuletzt gescannt"
L["Last updated from in-game scan %s ago."] = "Zuletzt aktualisiert durch in-game Scan vor %s" L["Last updated from in-game scan %s ago."] = "Zuletzt aktualisiert durch in-game Scan vor %s"
L["Last updated from the TSM Application %s ago."] = "Zuletzt aktualisiert durch TSM-Applikation vor %s" L["Last updated from the TSM Application %s ago."] = "Zuletzt aktualisiert durch TSM-Applikation vor %s"
@ -71,7 +66,6 @@ L["Reset Data"] = "Daten zurücksetzen"
L["Resets AuctionDB's scan data"] = "Setzt die Scandaten der \"AuctionDB\" zurück" L["Resets AuctionDB's scan data"] = "Setzt die Scandaten der \"AuctionDB\" zurück"
L["Result Order:"] = "Reihenfolge der Ergebnisse:" L["Result Order:"] = "Reihenfolge der Ergebnisse:"
L["Run Full Scan"] = "Starte einen vollen Scan" L["Run Full Scan"] = "Starte einen vollen Scan"
L["Run GetAll Scan"] = "Starte Komplettscan"
L["Running query..."] = "Abfrage läuft..." L["Running query..."] = "Abfrage läuft..."
L["%s ago"] = "Vor %s" L["%s ago"] = "Vor %s"
L["Scanning page %s/%s"] = "Scanne Seite %s/%s" L["Scanning page %s/%s"] = "Scanne Seite %s/%s"

14
TradeSkillMaster_AuctionDB/Locale/enUS.lua

@ -14,31 +14,25 @@ local L = LibStub("AceLocale-3.0"):NewLocale("TradeSkillMaster_AuctionDB", "enUS
if not L then return end if not L then return end
L["%s ago"] = true L["%s ago"] = true
L["A GetAll scan is the fastest in-game method for scanning every item on the auction house. However, there are many possible bugs on Blizzard's end with it including the chance for it to disconnect you from the game. Also, it has a 15 minute cooldown. You can disable the GetAll button via TSM's AuctionDB options if this feature doesn't work well on your server."] = true L["A full auction house scan will scan every item on the auction house. Expect this scan to take several minutes or longer."] = true
L["A full auction house scan will scan every item on the auction house but is far slower than a GetAll scan. Expect this scan to take several minutes or longer."] = true
L["Any items in the AuctionDB database that contain the search phrase in their names will be displayed."] = true L["Any items in the AuctionDB database that contain the search phrase in their names will be displayed."] = true
L["Are you sure you want to clear your AuctionDB data?"] = true L["Are you sure you want to clear your AuctionDB data?"] = true
L["Ascending"] = true L["Ascending"] = true
L["AuctionDB - Market Value"] = true L["AuctionDB - Market Value"] = true
L["AuctionDB - Minimum Buyout"] = true L["AuctionDB - Minimum Buyout"] = true
L["Can't run a GetAll scan right now."] = true
L["Descending"] = true L["Descending"] = true
L["Disable \"GetAll\" Auction Scans"] = true
L["Display lowest buyout value seen in the last scan in tooltip."] = true L["Display lowest buyout value seen in the last scan in tooltip."] = true
L["Display market value in tooltip."] = true L["Display market value in tooltip."] = true
L["Done Scanning"] = true L["Done Scanning"] = true
L["Download the FREE TSM desktop application which will automatically update your TSM_AuctionDB prices using Blizzard's online APIs (and does MUCH more). Visit %s for more info and never scan the AH again! This is the best way to update your AuctionDB prices."] = true L["Download the FREE TSM desktop application which will automatically update your TSM_AuctionDB prices using Blizzard's online APIs (and does MUCH more). Visit %s for more info and never scan the AH again! This is the best way to update your AuctionDB prices."] = true
L["Enable display of AuctionDB data in tooltip."] = true L["Enable display of AuctionDB data in tooltip."] = true
L["GetAll scan did not run successfully due to issues on Blizzard's end. Using the TSM application for your scans is recommended."] = true
L["Hide poor quality items"] = true L["Hide poor quality items"] = true
L["If checked, AuctionDB will add a tab to the AH to allow for in-game scans. If you are using the TSM app exclusively for your scans, you may want to hide it by unchecking this option. This option requires a reload to take effect."] = true L["If checked, AuctionDB will add a tab to the AH to allow for in-game scans. If you are using the TSM app exclusively for your scans, you may want to hide it by unchecking this option. This option requires a reload to take effect."] = true
L["If checked, AuctionDB will not perform \"GetAll\" scans. This is useful if your server doesn't return all auctions in its \"GetAll\" results, which means that you'll get incorrect market value calculations for all items. If you're playing on such servers, it's best to disable the \"GetAll\" feature to avoid accidentally polluting your price database with incorrect data. This option takes effect immediately, but requires a reload to completely hide the \"Run GetAll Scan\" button."] = true
L["If checked, poor quality items won't be shown in the search results."] = true L["If checked, poor quality items won't be shown in the search results."] = true
L["If checked, the lowest buyout value seen in the last scan of the item will be displayed."] = true L["If checked, the lowest buyout value seen in the last scan of the item will be displayed."] = true
L["If checked, the market value of the item will be displayed"] = true L["If checked, the market value of the item will be displayed"] = true
L["Imported %s scans worth of new auction data!"] = true L["Imported %s scans worth of new auction data!"] = true
L["Invalid value entered. You must enter a number between 5 and 500 inclusive."] = true L["Invalid value entered. You must enter a number between 5 and 500 inclusive."] = true
L["It is strongly recommended that you reload your ui (type '/reload') after running a GetAll scan. Otherwise, any other scans (Post/Cancel/Search/etc) will be much slower than normal."] = true
L["Item Link"] = true L["Item Link"] = true
L["Item MinLevel"] = true L["Item MinLevel"] = true
L["Item SubType Filter"] = true L["Item SubType Filter"] = true
@ -75,11 +69,12 @@ L["Resume"] = true
L["Resuming Scan..."] = true L["Resuming Scan..."] = true
L["Result Order:"] = true L["Result Order:"] = true
L["Run Full Scan"] = true L["Run Full Scan"] = true
L["Run GetAll Scan"] = true
L["Running query..."] = true L["Running query..."] = true
L["Running query... Server not responding due to throttling? Try again later..."] = true L["Running query... Server not responding due to throttling? Try again later..."] = true
L["Scan Bags"] = true L["Scan Bags"] = true
L["Scan Bank"] = true L["Scan Bank"] = true
L["Cancel Scan"] = true
L["Scan Inventory"] = true
L["Scan Paused"] = true L["Scan Paused"] = true
L["Scan Selected Groups"] = true L["Scan Selected Groups"] = true
L["Scanning %d / %d (Page 1 / ?)"] = true L["Scanning %d / %d (Page 1 / ?)"] = true
@ -95,13 +90,14 @@ L["Show AuctionDB AH Tab (Requires Reload)"] = true
L["Sort items by"] = true L["Sort items by"] = true
L["Scan bag items."] = true L["Scan bag items."] = true
L["Scan bank items."] = true L["Scan bank items."] = true
L["Scans bags and bank for all characters."] = true
L["This determines how many items are shown per page in results area of the \"Search\" tab of the AuctionDB page in the main TSM window. You may enter a number between 5 and 500 inclusive. If the page lags, you may want to decrease this number."] = true L["This determines how many items are shown per page in results area of the \"Search\" tab of the AuctionDB page in the main TSM window. You may enter a number between 5 and 500 inclusive. If the page lags, you may want to decrease this number."] = true
L["This will do a slow auction house scan of every item in the selected groups and update their AuctionDB prices. This may take several minutes."] = true L["This will do a slow auction house scan of every item in the selected groups and update their AuctionDB prices. This may take several minutes."] = true
L["Use the search box and category filters above to search the AuctionDB data."] = true L["Use the search box and category filters above to search the AuctionDB data."] = true
L["You can filter the results by item subtype by using this dropdown. For example, if you want to search for all herbs, you would select \"Trade Goods\" in the item type dropdown and \"Herbs\" in this dropdown."] = true L["You can filter the results by item subtype by using this dropdown. For example, if you want to search for all herbs, you would select \"Trade Goods\" in the item type dropdown and \"Herbs\" in this dropdown."] = true
L["You can filter the results by item type by using this dropdown. For example, if you want to search for all herbs, you would select \"Trade Goods\" in this dropdown and \"Herbs\" as the subtype filter."] = true L["You can filter the results by item type by using this dropdown. For example, if you want to search for all herbs, you would select \"Trade Goods\" in this dropdown and \"Herbs\" as the subtype filter."] = true
L["You can use this page to lookup an item or group of items in the AuctionDB database. Note that this does not perform a live search of the AH."] = true L["You can use this page to lookup an item or group of items in the AuctionDB database. Note that this does not perform a live search of the AH."] = true
L["You have disabled GetAll scans via AuctionDB's options."] = true
L["No bag items found."] = true L["No bag items found."] = true
L["No inventory items found."] = true
L["No bank items found."] = true L["No bank items found."] = true
L["ItemTracker data unavailable."] = true L["ItemTracker data unavailable."] = true

6
TradeSkillMaster_AuctionDB/Locale/esES.lua

@ -13,14 +13,11 @@
local L = LibStub("AceLocale-3.0"):NewLocale("TradeSkillMaster_AuctionDB", "esES") local L = LibStub("AceLocale-3.0"):NewLocale("TradeSkillMaster_AuctionDB", "esES")
if not L then return end if not L then return end
-- L["A full auction house scan will scan every item on the auction house but is far slower than a GetAll scan. Expect this scan to take several minutes or longer."] = ""
-- L["A GetAll scan is the fastest in-game method for scanning every item on the auction house. However, there are many possible bugs on Blizzard's end with it including the chance for it to disconnect you from the game. Also, it has a 15 minute cooldown. You can disable the GetAll button via TSM's AuctionDB options if this feature doesn't work well on your server."] = ""
L["Any items in the AuctionDB database that contain the search phrase in their names will be displayed."] = "Todos los artículos en la base de datos de AuctionDB que contienen la frase de búsqueda en su nombre en la pantalla." L["Any items in the AuctionDB database that contain the search phrase in their names will be displayed."] = "Todos los artículos en la base de datos de AuctionDB que contienen la frase de búsqueda en su nombre en la pantalla."
L["Are you sure you want to clear your AuctionDB data?"] = "¿Está seguro que desea borrar los datos AuctionDB?" L["Are you sure you want to clear your AuctionDB data?"] = "¿Está seguro que desea borrar los datos AuctionDB?"
L["Ascending"] = "Ascendente" L["Ascending"] = "Ascendente"
-- L["AuctionDB - Market Value"] = "" -- L["AuctionDB - Market Value"] = ""
-- L["AuctionDB - Minimum Buyout"] = "" -- L["AuctionDB - Minimum Buyout"] = ""
-- L["Can't run a GetAll scan right now."] = ""
L["Descending"] = "Descendiendo" L["Descending"] = "Descendiendo"
-- L["Display lowest buyout value seen in the last scan in tooltip."] = "" -- L["Display lowest buyout value seen in the last scan in tooltip."] = ""
-- L["Display market value in tooltip."] = "" -- L["Display market value in tooltip."] = ""
@ -29,7 +26,6 @@ L["Descending"] = "Descendiendo"
-- L["Done Scanning"] = "" -- L["Done Scanning"] = ""
-- L["Download the FREE TSM desktop application which will automatically update your TSM_AuctionDB prices using Blizzard's online APIs (and does MUCH more). Visit %s for more info and never scan the AH again! This is the best way to update your AuctionDB prices."] = "" -- L["Download the FREE TSM desktop application which will automatically update your TSM_AuctionDB prices using Blizzard's online APIs (and does MUCH more). Visit %s for more info and never scan the AH again! This is the best way to update your AuctionDB prices."] = ""
L["Enable display of AuctionDB data in tooltip."] = "Permitir la visualización de los datos AuctionDB en la descripción." L["Enable display of AuctionDB data in tooltip."] = "Permitir la visualización de los datos AuctionDB en la descripción."
-- L["GetAll scan did not run successfully due to issues on Blizzard's end. Using the TSM application for your scans is recommended."] = ""
L["Hide poor quality items"] = "Esconder objetos de calidad pobre" L["Hide poor quality items"] = "Esconder objetos de calidad pobre"
L["If checked, poor quality items won't be shown in the search results."] = "Si se marca, los artículos de calidad pobre no se mostrará en los resultados de búsqueda." L["If checked, poor quality items won't be shown in the search results."] = "Si se marca, los artículos de calidad pobre no se mostrará en los resultados de búsqueda."
-- L["If checked, the lowest buyout value seen in the last scan of the item will be displayed."] = "" -- L["If checked, the lowest buyout value seen in the last scan of the item will be displayed."] = ""
@ -44,7 +40,6 @@ L["Item MinLevel"] = "NivelMin Objeto"
-- L["Items %s - %s (%s total)"] = "" -- L["Items %s - %s (%s total)"] = ""
-- L["Item SubType Filter"] = "" -- L["Item SubType Filter"] = ""
-- L["Item Type Filter"] = "" -- L["Item Type Filter"] = ""
-- L["It is strongly recommended that you reload your ui (type '/reload') after running a GetAll scan. Otherwise, any other scans (Post/Cancel/Search/etc) will be much slower than normal."] = ""
-- L["Last Scanned"] = "" -- L["Last Scanned"] = ""
-- L["Last updated from in-game scan %s ago."] = "" -- L["Last updated from in-game scan %s ago."] = ""
-- L["Last updated from the TSM Application %s ago."] = "" -- L["Last updated from the TSM Application %s ago."] = ""
@ -71,7 +66,6 @@ L["Ready in %s min and %s sec"] = "Listo en %s min y %s sec."
-- L["Resets AuctionDB's scan data"] = "" -- L["Resets AuctionDB's scan data"] = ""
-- L["Result Order:"] = "" -- L["Result Order:"] = ""
-- L["Run Full Scan"] = "" -- L["Run Full Scan"] = ""
L["Run GetAll Scan"] = "Hacer un GetAll Scan"
-- L["Running query..."] = "" -- L["Running query..."] = ""
L["%s ago"] = "hace %s" L["%s ago"] = "hace %s"
-- L["Scanning page %s/%s"] = "" -- L["Scanning page %s/%s"] = ""

6
TradeSkillMaster_AuctionDB/Locale/esMX.lua

@ -13,14 +13,11 @@
local L = LibStub("AceLocale-3.0"):NewLocale("TradeSkillMaster_AuctionDB", "esMX") local L = LibStub("AceLocale-3.0"):NewLocale("TradeSkillMaster_AuctionDB", "esMX")
if not L then return end if not L then return end
-- L["A full auction house scan will scan every item on the auction house but is far slower than a GetAll scan. Expect this scan to take several minutes or longer."] = ""
-- L["A GetAll scan is the fastest in-game method for scanning every item on the auction house. However, there are many possible bugs on Blizzard's end with it including the chance for it to disconnect you from the game. Also, it has a 15 minute cooldown. You can disable the GetAll button via TSM's AuctionDB options if this feature doesn't work well on your server."] = ""
-- L["Any items in the AuctionDB database that contain the search phrase in their names will be displayed."] = "" -- L["Any items in the AuctionDB database that contain the search phrase in their names will be displayed."] = ""
-- L["Are you sure you want to clear your AuctionDB data?"] = "" -- L["Are you sure you want to clear your AuctionDB data?"] = ""
-- L["Ascending"] = "" -- L["Ascending"] = ""
-- L["AuctionDB - Market Value"] = "" -- L["AuctionDB - Market Value"] = ""
-- L["AuctionDB - Minimum Buyout"] = "" -- L["AuctionDB - Minimum Buyout"] = ""
-- L["Can't run a GetAll scan right now."] = ""
-- L["Descending"] = "" -- L["Descending"] = ""
-- L["Display lowest buyout value seen in the last scan in tooltip."] = "" -- L["Display lowest buyout value seen in the last scan in tooltip."] = ""
-- L["Display market value in tooltip."] = "" -- L["Display market value in tooltip."] = ""
@ -29,7 +26,6 @@ if not L then return end
-- L["Done Scanning"] = "" -- L["Done Scanning"] = ""
-- L["Download the FREE TSM desktop application which will automatically update your TSM_AuctionDB prices using Blizzard's online APIs (and does MUCH more). Visit %s for more info and never scan the AH again! This is the best way to update your AuctionDB prices."] = "" -- L["Download the FREE TSM desktop application which will automatically update your TSM_AuctionDB prices using Blizzard's online APIs (and does MUCH more). Visit %s for more info and never scan the AH again! This is the best way to update your AuctionDB prices."] = ""
-- L["Enable display of AuctionDB data in tooltip."] = "" -- L["Enable display of AuctionDB data in tooltip."] = ""
-- L["GetAll scan did not run successfully due to issues on Blizzard's end. Using the TSM application for your scans is recommended."] = ""
-- L["Hide poor quality items"] = "" -- L["Hide poor quality items"] = ""
-- L["If checked, poor quality items won't be shown in the search results."] = "" -- L["If checked, poor quality items won't be shown in the search results."] = ""
-- L["If checked, the lowest buyout value seen in the last scan of the item will be displayed."] = "" -- L["If checked, the lowest buyout value seen in the last scan of the item will be displayed."] = ""
@ -44,7 +40,6 @@ if not L then return end
-- L["Items %s - %s (%s total)"] = "" -- L["Items %s - %s (%s total)"] = ""
-- L["Item SubType Filter"] = "" -- L["Item SubType Filter"] = ""
-- L["Item Type Filter"] = "" -- L["Item Type Filter"] = ""
-- L["It is strongly recommended that you reload your ui (type '/reload') after running a GetAll scan. Otherwise, any other scans (Post/Cancel/Search/etc) will be much slower than normal."] = ""
-- L["Last Scanned"] = "" -- L["Last Scanned"] = ""
-- L["Last updated from in-game scan %s ago."] = "" -- L["Last updated from in-game scan %s ago."] = ""
-- L["Last updated from the TSM Application %s ago."] = "" -- L["Last updated from the TSM Application %s ago."] = ""
@ -71,7 +66,6 @@ if not L then return end
-- L["Resets AuctionDB's scan data"] = "" -- L["Resets AuctionDB's scan data"] = ""
-- L["Result Order:"] = "" -- L["Result Order:"] = ""
-- L["Run Full Scan"] = "" -- L["Run Full Scan"] = ""
-- L["Run GetAll Scan"] = ""
-- L["Running query..."] = "" -- L["Running query..."] = ""
-- L["%s ago"] = "" -- L["%s ago"] = ""
-- L["Scanning page %s/%s"] = "" -- L["Scanning page %s/%s"] = ""

6
TradeSkillMaster_AuctionDB/Locale/frFR.lua

@ -13,14 +13,11 @@
local L = LibStub("AceLocale-3.0"):NewLocale("TradeSkillMaster_AuctionDB", "frFR") local L = LibStub("AceLocale-3.0"):NewLocale("TradeSkillMaster_AuctionDB", "frFR")
if not L then return end if not L then return end
L["A full auction house scan will scan every item on the auction house but is far slower than a GetAll scan. Expect this scan to take several minutes or longer."] = "Une analyse complète de l'Hôtel des ventes examinera tous les objets de l'hôtel des ventes mais est beaucoup plus lente que la méthode du GetAll. Attendez-vous à ce que cette analyse dure de nombreuses minutes."
-- L["A GetAll scan is the fastest in-game method for scanning every item on the auction house. However, there are many possible bugs on Blizzard's end with it including the chance for it to disconnect you from the game. Also, it has a 15 minute cooldown. You can disable the GetAll button via TSM's AuctionDB options if this feature doesn't work well on your server."] = ""
L["Any items in the AuctionDB database that contain the search phrase in their names will be displayed."] = "Tout objets présent dans la base de donnée d'AuctionDB contenant la phrase recherchée dans son nom sera affiché." L["Any items in the AuctionDB database that contain the search phrase in their names will be displayed."] = "Tout objets présent dans la base de donnée d'AuctionDB contenant la phrase recherchée dans son nom sera affiché."
L["Are you sure you want to clear your AuctionDB data?"] = "Êtes-vous sûr de vouloir vider les données d'AuctionDB?" L["Are you sure you want to clear your AuctionDB data?"] = "Êtes-vous sûr de vouloir vider les données d'AuctionDB?"
L["Ascending"] = "Croissant" L["Ascending"] = "Croissant"
L["AuctionDB - Market Value"] = "AuctionDB - Valeur du Marché" L["AuctionDB - Market Value"] = "AuctionDB - Valeur du Marché"
L["AuctionDB - Minimum Buyout"] = "AuctionDB - Achat minimum" L["AuctionDB - Minimum Buyout"] = "AuctionDB - Achat minimum"
-- L["Can't run a GetAll scan right now."] = ""
L["Descending"] = "Décroissant" L["Descending"] = "Décroissant"
-- L["Display lowest buyout value seen in the last scan in tooltip."] = "" -- L["Display lowest buyout value seen in the last scan in tooltip."] = ""
-- L["Display market value in tooltip."] = "" -- L["Display market value in tooltip."] = ""
@ -29,7 +26,6 @@ L["Descending"] = "Décroissant"
L["Done Scanning"] = "Analyse terminée" L["Done Scanning"] = "Analyse terminée"
-- L["Download the FREE TSM desktop application which will automatically update your TSM_AuctionDB prices using Blizzard's online APIs (and does MUCH more). Visit %s for more info and never scan the AH again! This is the best way to update your AuctionDB prices."] = "" -- L["Download the FREE TSM desktop application which will automatically update your TSM_AuctionDB prices using Blizzard's online APIs (and does MUCH more). Visit %s for more info and never scan the AH again! This is the best way to update your AuctionDB prices."] = ""
L["Enable display of AuctionDB data in tooltip."] = "Activer l'affichage des données d'AuctionDB dans les info-bulles." L["Enable display of AuctionDB data in tooltip."] = "Activer l'affichage des données d'AuctionDB dans les info-bulles."
-- L["GetAll scan did not run successfully due to issues on Blizzard's end. Using the TSM application for your scans is recommended."] = ""
L["Hide poor quality items"] = "Masquer les objets gris" L["Hide poor quality items"] = "Masquer les objets gris"
L["If checked, poor quality items won't be shown in the search results."] = "Si coché, les objets gris ne seront pas affiché lors de la recherche." L["If checked, poor quality items won't be shown in the search results."] = "Si coché, les objets gris ne seront pas affiché lors de la recherche."
-- L["If checked, the lowest buyout value seen in the last scan of the item will be displayed."] = "" -- L["If checked, the lowest buyout value seen in the last scan of the item will be displayed."] = ""
@ -44,7 +40,6 @@ L["Items per page"] = "Objets par page"
L["Items %s - %s (%s total)"] = "Objets %s - %s (%s au total)" L["Items %s - %s (%s total)"] = "Objets %s - %s (%s au total)"
L["Item SubType Filter"] = "Sous-catégorie de l'objet" L["Item SubType Filter"] = "Sous-catégorie de l'objet"
L["Item Type Filter"] = "Catégorie de l'objet" L["Item Type Filter"] = "Catégorie de l'objet"
L["It is strongly recommended that you reload your ui (type '/reload') after running a GetAll scan. Otherwise, any other scans (Post/Cancel/Search/etc) will be much slower than normal."] = "Il est fortement recommandé que vous rechargez votre interface (tapez '/reload') après une analyse GetAll. Sinon, toutes les autres analyses (Poster/Annuler/Rechercher/etc) vont être plus longue que d'habitude."
L["Last Scanned"] = "Dernière fois analysé" L["Last Scanned"] = "Dernière fois analysé"
-- L["Last updated from in-game scan %s ago."] = "" -- L["Last updated from in-game scan %s ago."] = ""
-- L["Last updated from the TSM Application %s ago."] = "" -- L["Last updated from the TSM Application %s ago."] = ""
@ -71,7 +66,6 @@ L["Reset Data"] = "Réinitialiser les données"
L["Resets AuctionDB's scan data"] = "Réinitialise les données d'AuctionDB" L["Resets AuctionDB's scan data"] = "Réinitialise les données d'AuctionDB"
-- L["Result Order:"] = "" -- L["Result Order:"] = ""
L["Run Full Scan"] = "Analyse complète" L["Run Full Scan"] = "Analyse complète"
L["Run GetAll Scan"] = "Analyse GetAll"
-- L["Running query..."] = "" -- L["Running query..."] = ""
L["%s ago"] = "Il y a %s" L["%s ago"] = "Il y a %s"
L["Scanning page %s/%s"] = "Scan de la page %s/%s" -- Needs review L["Scanning page %s/%s"] = "Scan de la page %s/%s" -- Needs review

6
TradeSkillMaster_AuctionDB/Locale/koKR.lua

@ -13,14 +13,11 @@
local L = LibStub("AceLocale-3.0"):NewLocale("TradeSkillMaster_AuctionDB", "koKR") local L = LibStub("AceLocale-3.0"):NewLocale("TradeSkillMaster_AuctionDB", "koKR")
if not L then return end if not L then return end
L["A full auction house scan will scan every item on the auction house but is far slower than a GetAll scan. Expect this scan to take several minutes or longer."] = "전체 검색은 경매장 내의 모든 아이템을 검색하지만 GetAll 검색보다는 훨씬 느립니다. 이 검색은 몇 분 정도 또는 그 이상의 시간이 소요됩니다."
L["A GetAll scan is the fastest in-game method for scanning every item on the auction house. However, there are many possible bugs on Blizzard's end with it including the chance for it to disconnect you from the game. Also, it has a 15 minute cooldown. You can disable the GetAll button via TSM's AuctionDB options if this feature doesn't work well on your server."] = "GetAll 검색은 게임 내에서 경매장의 모든 아이템을 검색하기 위한 가장 빠른 검색 방법입니다. 하지만 블리자드 쪽에 많은 버그가 존재하며 게임의 접속이 끊길 가능성도 있습니다. 또한, 15분의 쿨다운이 존재합니다. You can disable the GetAll button via TSM's AuctionDB options if this feature doesn't work well on your server." -- Needs review
L["Any items in the AuctionDB database that contain the search phrase in their names will be displayed."] = "이름에 검색 구문을 포함하는 AuctionDB 데이터베이스 내의 모든 아이템이 표시됩니다." L["Any items in the AuctionDB database that contain the search phrase in their names will be displayed."] = "이름에 검색 구문을 포함하는 AuctionDB 데이터베이스 내의 모든 아이템이 표시됩니다."
L["Are you sure you want to clear your AuctionDB data?"] = "모든 AuctionDB 데이터를 삭제 하시겠습니까?" L["Are you sure you want to clear your AuctionDB data?"] = "모든 AuctionDB 데이터를 삭제 하시겠습니까?"
L["Ascending"] = "오름차순" L["Ascending"] = "오름차순"
L["AuctionDB - Market Value"] = "AuctionDB - 시장 가격" L["AuctionDB - Market Value"] = "AuctionDB - 시장 가격"
L["AuctionDB - Minimum Buyout"] = "AuctionDB - 최소 구매가격" L["AuctionDB - Minimum Buyout"] = "AuctionDB - 최소 구매가격"
L["Can't run a GetAll scan right now."] = "지금은 GetAll 검색을 실행할 수 없습니다." -- Needs review
L["Descending"] = "내림차순" L["Descending"] = "내림차순"
L["Display lowest buyout value seen in the last scan in tooltip."] = "최근 검색 시 본 최소 구매가를 툴팁에 표시합니다." -- Needs review L["Display lowest buyout value seen in the last scan in tooltip."] = "최근 검색 시 본 최소 구매가를 툴팁에 표시합니다." -- Needs review
L["Display market value in tooltip."] = "시장 가격을 툴팁에 표시합니다." -- Needs review L["Display market value in tooltip."] = "시장 가격을 툴팁에 표시합니다." -- Needs review
@ -29,7 +26,6 @@ L["Display total number of items ever seen in tooltip."] = "아이템의 전체
L["Done Scanning"] = "검색 완료" L["Done Scanning"] = "검색 완료"
L["Download the FREE TSM desktop application which will automatically update your TSM_AuctionDB prices using Blizzard's online APIs (and does MUCH more). Visit %s for more info and never scan the AH again! This is the best way to update your AuctionDB prices."] = "무료 TSM 데스크톱 애플리케이션을 다운로드하면 TSM_AuctionDB 가격을 블리자드의 온라인 API를 이용해 자동으로 업데이트합니다. %s을 방문하여 더 많은 정보를 얻고 더 이상은 경매장 검색을 하지 마세요! 이것은 AuctionDB 가격을 업데이트하는 최고의 방법입니다." -- Needs review L["Download the FREE TSM desktop application which will automatically update your TSM_AuctionDB prices using Blizzard's online APIs (and does MUCH more). Visit %s for more info and never scan the AH again! This is the best way to update your AuctionDB prices."] = "무료 TSM 데스크톱 애플리케이션을 다운로드하면 TSM_AuctionDB 가격을 블리자드의 온라인 API를 이용해 자동으로 업데이트합니다. %s을 방문하여 더 많은 정보를 얻고 더 이상은 경매장 검색을 하지 마세요! 이것은 AuctionDB 가격을 업데이트하는 최고의 방법입니다." -- Needs review
L["Enable display of AuctionDB data in tooltip."] = "AuctionDB 데이터를 툴팁에 표시" -- Needs review L["Enable display of AuctionDB data in tooltip."] = "AuctionDB 데이터를 툴팁에 표시" -- Needs review
L["GetAll scan did not run successfully due to issues on Blizzard's end. Using the TSM application for your scans is recommended."] = "블리자드의 문제로 GetAll 검색이 성공적으로 수행되지 못했습니다. TSM 애플리케이션의 사용한 검색을 추천합니다." -- Needs review
L["Hide poor quality items"] = "저급 품질 아이템 숨기기" L["Hide poor quality items"] = "저급 품질 아이템 숨기기"
L["If checked, poor quality items won't be shown in the search results."] = "선택하면, 저급 품질 아이템은 검색 결과에 표시하지 않습니다." L["If checked, poor quality items won't be shown in the search results."] = "선택하면, 저급 품질 아이템은 검색 결과에 표시하지 않습니다."
L["If checked, the lowest buyout value seen in the last scan of the item will be displayed."] = "선택하면, 최근 검색에서 본 아이템의 최소 구매 가격을 표시합니다." -- Needs review L["If checked, the lowest buyout value seen in the last scan of the item will be displayed."] = "선택하면, 최근 검색에서 본 아이템의 최소 구매 가격을 표시합니다." -- Needs review
@ -44,7 +40,6 @@ L["Items per page"] = "페이지당 아이템 개수"
L["Items %s - %s (%s total)"] = "아이템 %s - %s (전체 %s)" L["Items %s - %s (%s total)"] = "아이템 %s - %s (전체 %s)"
L["Item SubType Filter"] = "아이템 하위 유형 필터" -- Needs review L["Item SubType Filter"] = "아이템 하위 유형 필터" -- Needs review
L["Item Type Filter"] = "아이템 유형 필터" L["Item Type Filter"] = "아이템 유형 필터"
L["It is strongly recommended that you reload your ui (type '/reload') after running a GetAll scan. Otherwise, any other scans (Post/Cancel/Search/etc) will be much slower than normal."] = "GetAll 검색을 실행한 후 UI를 다시 로드('/reload' 입력)해 주시길 바랍니다. 그렇게 하지 않으면, 다른 검색(등록/취소/검색/기타)은 정상보다 훨씬 느려지게 됩니다."
L["Last Scanned"] = "최근 검색" L["Last Scanned"] = "최근 검색"
L["Last updated from in-game scan %s ago."] = "게임 내 검색의 최근 업데이트 %s 전." -- Needs review L["Last updated from in-game scan %s ago."] = "게임 내 검색의 최근 업데이트 %s 전." -- Needs review
L["Last updated from the TSM Application %s ago."] = "TSM 애플리케이션의 최근 업데이트 %s 전." -- Needs review L["Last updated from the TSM Application %s ago."] = "TSM 애플리케이션의 최근 업데이트 %s 전." -- Needs review
@ -71,7 +66,6 @@ L["Reset Data"] = "데이터 리셋"
L["Resets AuctionDB's scan data"] = "AuctionDB의 검색 데이터 리셋" L["Resets AuctionDB's scan data"] = "AuctionDB의 검색 데이터 리셋"
L["Result Order:"] = "결과 정렬:" -- Needs review L["Result Order:"] = "결과 정렬:" -- Needs review
L["Run Full Scan"] = "전체 검색" L["Run Full Scan"] = "전체 검색"
L["Run GetAll Scan"] = "GetAll 검색"
L["Running query..."] = "쿼리 실행 중..." -- Needs review L["Running query..."] = "쿼리 실행 중..." -- Needs review
L["%s ago"] = "%s 전" L["%s ago"] = "%s 전"
L["Scanning page %s/%s"] = "페이지 검색 %s/%s" -- Needs review L["Scanning page %s/%s"] = "페이지 검색 %s/%s" -- Needs review

6
TradeSkillMaster_AuctionDB/Locale/ptBR.lua

@ -13,14 +13,11 @@
local L = LibStub("AceLocale-3.0"):NewLocale("TradeSkillMaster_AuctionDB", "ptBR") local L = LibStub("AceLocale-3.0"):NewLocale("TradeSkillMaster_AuctionDB", "ptBR")
if not L then return end if not L then return end
L["A full auction house scan will scan every item on the auction house but is far slower than a GetAll scan. Expect this scan to take several minutes or longer."] = "Um escaneamento completo da casa de leilões irá escanear todos os itens da casa de leilões, porém é bem mais lento que um escaneamento PegaTudo. Espere que este escaneamento demore vários minutos ou mais."
-- L["A GetAll scan is the fastest in-game method for scanning every item on the auction house. However, there are many possible bugs on Blizzard's end with it including the chance for it to disconnect you from the game. Also, it has a 15 minute cooldown. You can disable the GetAll button via TSM's AuctionDB options if this feature doesn't work well on your server."] = ""
L["Any items in the AuctionDB database that contain the search phrase in their names will be displayed."] = "Qualquer item no bando de dados do AuctionDB que contém a frase procurada em seus nomes serão exibidos." L["Any items in the AuctionDB database that contain the search phrase in their names will be displayed."] = "Qualquer item no bando de dados do AuctionDB que contém a frase procurada em seus nomes serão exibidos."
L["Are you sure you want to clear your AuctionDB data?"] = "Você tem certeza de que quer limpar os dados do seu AuctionDB?" L["Are you sure you want to clear your AuctionDB data?"] = "Você tem certeza de que quer limpar os dados do seu AuctionDB?"
L["Ascending"] = "Crescente" L["Ascending"] = "Crescente"
L["AuctionDB - Market Value"] = "AuctionDB - Valor de Mercado" L["AuctionDB - Market Value"] = "AuctionDB - Valor de Mercado"
L["AuctionDB - Minimum Buyout"] = "AuctionDB - Arremate Mínimo" L["AuctionDB - Minimum Buyout"] = "AuctionDB - Arremate Mínimo"
-- L["Can't run a GetAll scan right now."] = ""
L["Descending"] = "Decrescente" L["Descending"] = "Decrescente"
-- L["Display lowest buyout value seen in the last scan in tooltip."] = "" -- L["Display lowest buyout value seen in the last scan in tooltip."] = ""
-- L["Display market value in tooltip."] = "" -- L["Display market value in tooltip."] = ""
@ -29,7 +26,6 @@ L["Descending"] = "Decrescente"
L["Done Scanning"] = "Escaneamento Completo" L["Done Scanning"] = "Escaneamento Completo"
-- L["Download the FREE TSM desktop application which will automatically update your TSM_AuctionDB prices using Blizzard's online APIs (and does MUCH more). Visit %s for more info and never scan the AH again! This is the best way to update your AuctionDB prices."] = "" -- L["Download the FREE TSM desktop application which will automatically update your TSM_AuctionDB prices using Blizzard's online APIs (and does MUCH more). Visit %s for more info and never scan the AH again! This is the best way to update your AuctionDB prices."] = ""
L["Enable display of AuctionDB data in tooltip."] = "Habilita a exibição de dados do AuctionDB nas dicas de interface." L["Enable display of AuctionDB data in tooltip."] = "Habilita a exibição de dados do AuctionDB nas dicas de interface."
-- L["GetAll scan did not run successfully due to issues on Blizzard's end. Using the TSM application for your scans is recommended."] = ""
L["Hide poor quality items"] = "Esconder itens de qualidade inferior" L["Hide poor quality items"] = "Esconder itens de qualidade inferior"
L["If checked, poor quality items won't be shown in the search results."] = "Se marcado, itens de qualidade inferior não serão exibidos nos resultados das buscas." L["If checked, poor quality items won't be shown in the search results."] = "Se marcado, itens de qualidade inferior não serão exibidos nos resultados das buscas."
-- L["If checked, the lowest buyout value seen in the last scan of the item will be displayed."] = "" -- L["If checked, the lowest buyout value seen in the last scan of the item will be displayed."] = ""
@ -44,7 +40,6 @@ L["Items per page"] = "Itens por página"
L["Items %s - %s (%s total)"] = "Itens %s - %s (%s no total)" L["Items %s - %s (%s total)"] = "Itens %s - %s (%s no total)"
L["Item SubType Filter"] = "Filtro de SubTipo de Item" L["Item SubType Filter"] = "Filtro de SubTipo de Item"
L["Item Type Filter"] = "Filtro de Tipo de Item" L["Item Type Filter"] = "Filtro de Tipo de Item"
L["It is strongly recommended that you reload your ui (type '/reload') after running a GetAll scan. Otherwise, any other scans (Post/Cancel/Search/etc) will be much slower than normal."] = "É altamente recomendado que você recarregue sua IU (digite '/reload') após rodar um escaneamento PegaTudo. De outra forma, qualquer outro escaneamento (Postagem/Cancelamento/Busca/etc) será muito mais lento que o normal."
L["Last Scanned"] = "Escaneado pela última vez" L["Last Scanned"] = "Escaneado pela última vez"
-- L["Last updated from in-game scan %s ago."] = "" -- L["Last updated from in-game scan %s ago."] = ""
-- L["Last updated from the TSM Application %s ago."] = "" -- L["Last updated from the TSM Application %s ago."] = ""
@ -71,7 +66,6 @@ L["Reset Data"] = "Redefinir Dados"
L["Resets AuctionDB's scan data"] = "Redefine os dados de escaneamento do AuctionDB" L["Resets AuctionDB's scan data"] = "Redefine os dados de escaneamento do AuctionDB"
L["Result Order:"] = "Order de Resultado" L["Result Order:"] = "Order de Resultado"
L["Run Full Scan"] = "Escaneamento Completo" -- Needs review L["Run Full Scan"] = "Escaneamento Completo" -- Needs review
L["Run GetAll Scan"] = "PegaTudo" -- Needs review
-- L["Running query..."] = "" -- L["Running query..."] = ""
L["%s ago"] = "%s atrás" L["%s ago"] = "%s atrás"
L["Scanning page %s/%s"] = "Escaneando página %s/%s" -- Needs review L["Scanning page %s/%s"] = "Escaneando página %s/%s" -- Needs review

6
TradeSkillMaster_AuctionDB/Locale/ruRU.lua

@ -13,14 +13,11 @@
local L = LibStub("AceLocale-3.0"):NewLocale("TradeSkillMaster_AuctionDB", "ruRU") local L = LibStub("AceLocale-3.0"):NewLocale("TradeSkillMaster_AuctionDB", "ruRU")
if not L then return end if not L then return end
L["A full auction house scan will scan every item on the auction house but is far slower than a GetAll scan. Expect this scan to take several minutes or longer."] = "Полный скан Аукциона просканирует каждый товар, но намного дольше, чем GetAll скан. Ждите, это займёт несколько минут или более."
L["A GetAll scan is the fastest in-game method for scanning every item on the auction house. However, there are many possible bugs on Blizzard's end with it including the chance for it to disconnect you from the game. Also, it has a 15 minute cooldown. You can disable the GetAll button via TSM's AuctionDB options if this feature doesn't work well on your server."] = "GetAll скан - самый быстрый внутриигровой способ сканирования. Однако, из-за из-за ошибок со стороны Blizzard's, существует вероятность отключения от сервера. Кроме того, он имеет 15-минутный перерыв. You can disable the GetAll button via TSM's AuctionDB options if this feature doesn't work well on your server." -- Needs review
L["Any items in the AuctionDB database that contain the search phrase in their names will be displayed."] = "Будут отображены все товары из базы данных AuctionDB, содержащие искомую фразу в названии." L["Any items in the AuctionDB database that contain the search phrase in their names will be displayed."] = "Будут отображены все товары из базы данных AuctionDB, содержащие искомую фразу в названии."
L["Are you sure you want to clear your AuctionDB data?"] = "Вы действительно хотите очистить базу AuctionDB?" L["Are you sure you want to clear your AuctionDB data?"] = "Вы действительно хотите очистить базу AuctionDB?"
L["Ascending"] = "Возрастание" L["Ascending"] = "Возрастание"
L["AuctionDB - Market Value"] = "AuctionDB - Рыночная стоимость" L["AuctionDB - Market Value"] = "AuctionDB - Рыночная стоимость"
L["AuctionDB - Minimum Buyout"] = "AuctionDB - Минимальный выкуп" L["AuctionDB - Minimum Buyout"] = "AuctionDB - Минимальный выкуп"
L["Can't run a GetAll scan right now."] = "Сейчас невозможно запустить GetAll скан."
L["Descending"] = "Убывание" L["Descending"] = "Убывание"
-- L["Display lowest buyout value seen in the last scan in tooltip."] = "" -- L["Display lowest buyout value seen in the last scan in tooltip."] = ""
L["Display market value in tooltip."] = "Показывать рыночную цену в подсказке." L["Display market value in tooltip."] = "Показывать рыночную цену в подсказке."
@ -29,7 +26,6 @@ L["Display market value in tooltip."] = "Показывать рыночную
L["Done Scanning"] = "Сканирование завершено" L["Done Scanning"] = "Сканирование завершено"
-- L["Download the FREE TSM desktop application which will automatically update your TSM_AuctionDB prices using Blizzard's online APIs (and does MUCH more). Visit %s for more info and never scan the AH again! This is the best way to update your AuctionDB prices."] = "" -- L["Download the FREE TSM desktop application which will automatically update your TSM_AuctionDB prices using Blizzard's online APIs (and does MUCH more). Visit %s for more info and never scan the AH again! This is the best way to update your AuctionDB prices."] = ""
L["Enable display of AuctionDB data in tooltip."] = "Показывать данные AuctionDB в подсказке." L["Enable display of AuctionDB data in tooltip."] = "Показывать данные AuctionDB в подсказке."
L["GetAll scan did not run successfully due to issues on Blizzard's end. Using the TSM application for your scans is recommended."] = "GetAll скан завершился неудачно из-за проблем со стороны Blizzard. Рекомендуется использовать для сканирования TSM."
L["Hide poor quality items"] = "Скрыть товары низкого качества" L["Hide poor quality items"] = "Скрыть товары низкого качества"
L["If checked, poor quality items won't be shown in the search results."] = "Не показывать товары низкого качества в результатах поиска." L["If checked, poor quality items won't be shown in the search results."] = "Не показывать товары низкого качества в результатах поиска."
L["If checked, the lowest buyout value seen in the last scan of the item will be displayed."] = "Если выбрано, будет показана минимальная цена выкупа товара с последнего скана" L["If checked, the lowest buyout value seen in the last scan of the item will be displayed."] = "Если выбрано, будет показана минимальная цена выкупа товара с последнего скана"
@ -44,7 +40,6 @@ L["Items per page"] = "Товаров на страницу"
L["Items %s - %s (%s total)"] = "Товаров %s - %s (%s всего)" L["Items %s - %s (%s total)"] = "Товаров %s - %s (%s всего)"
L["Item SubType Filter"] = "Фильтр по подтипу товара" L["Item SubType Filter"] = "Фильтр по подтипу товара"
L["Item Type Filter"] = "Фильтр по типу товара" L["Item Type Filter"] = "Фильтр по типу товара"
L["It is strongly recommended that you reload your ui (type '/reload') after running a GetAll scan. Otherwise, any other scans (Post/Cancel/Search/etc) will be much slower than normal."] = "Настоятельно рекомендуем перезагрузить ваш интерфейс (наберите в чате '/reload') после выполнения GetAll скана. Иначе, любые другие сканы (Выставить/Отменить/Поиск/т.д.) будут намного медленнее, чем обычно."
L["Last Scanned"] = "Последний скан" L["Last Scanned"] = "Последний скан"
-- L["Last updated from in-game scan %s ago."] = "" -- L["Last updated from in-game scan %s ago."] = ""
-- L["Last updated from the TSM Application %s ago."] = "" -- L["Last updated from the TSM Application %s ago."] = ""
@ -71,7 +66,6 @@ L["Reset Data"] = "Сбросить данные"
L["Resets AuctionDB's scan data"] = "Сбрасывает данные сканирования модуля AuctionDB" L["Resets AuctionDB's scan data"] = "Сбрасывает данные сканирования модуля AuctionDB"
-- L["Result Order:"] = "" -- L["Result Order:"] = ""
L["Run Full Scan"] = "Полный скан" L["Run Full Scan"] = "Полный скан"
L["Run GetAll Scan"] = "GetAll скан"
L["Running query..."] = "Осуществляется запрос..." L["Running query..."] = "Осуществляется запрос..."
L["%s ago"] = "%s назад" L["%s ago"] = "%s назад"
L["Scanning page %s/%s"] = "Сканирование страницы %s/%s" L["Scanning page %s/%s"] = "Сканирование страницы %s/%s"

6
TradeSkillMaster_AuctionDB/Locale/zhCN.lua

@ -13,14 +13,11 @@
local L = LibStub("AceLocale-3.0"):NewLocale("TradeSkillMaster_AuctionDB", "zhCN") local L = LibStub("AceLocale-3.0"):NewLocale("TradeSkillMaster_AuctionDB", "zhCN")
if not L then return end if not L then return end
L["A full auction house scan will scan every item on the auction house but is far slower than a GetAll scan. Expect this scan to take several minutes or longer."] = "完整扫描拍卖行内的所有物品,此方式远慢于快速扫描,预计费时几分钟甚至更久。"
L["A GetAll scan is the fastest in-game method for scanning every item on the auction house. However, there are many possible bugs on Blizzard's end with it including the chance for it to disconnect you from the game. Also, it has a 15 minute cooldown. You can disable the GetAll button via TSM's AuctionDB options if this feature doesn't work well on your server."] = "快速扫描时扫描拍卖行中每件物品最快的方式。然而,在服务器端有着可能的BUG会使您掉线,所以每15分钟才能执行一次。 You can disable the GetAll button via TSM's AuctionDB options if this feature doesn't work well on your server." -- Needs review
L["Any items in the AuctionDB database that contain the search phrase in their names will be displayed."] = "任何包含搜索短语的AuctionDB数据库中的物品都将显示。" L["Any items in the AuctionDB database that contain the search phrase in their names will be displayed."] = "任何包含搜索短语的AuctionDB数据库中的物品都将显示。"
L["Are you sure you want to clear your AuctionDB data?"] = "您确定要清除AuctionDB数据吗?" L["Are you sure you want to clear your AuctionDB data?"] = "您确定要清除AuctionDB数据吗?"
L["Ascending"] = "升序" L["Ascending"] = "升序"
L["AuctionDB - Market Value"] = "AuctionDB - 市场价" L["AuctionDB - Market Value"] = "AuctionDB - 市场价"
L["AuctionDB - Minimum Buyout"] = "AuctionDB - 最低一口价" L["AuctionDB - Minimum Buyout"] = "AuctionDB - 最低一口价"
L["Can't run a GetAll scan right now."] = "现在还不能执行快速扫描。"
L["Descending"] = "降序" L["Descending"] = "降序"
L["Display lowest buyout value seen in the last scan in tooltip."] = "在鼠标提示中显示上次扫描的最低一口价。" L["Display lowest buyout value seen in the last scan in tooltip."] = "在鼠标提示中显示上次扫描的最低一口价。"
L["Display market value in tooltip."] = "在鼠标提示中显示市场价。" L["Display market value in tooltip."] = "在鼠标提示中显示市场价。"
@ -29,7 +26,6 @@ L["Display total number of items ever seen in tooltip."] = "在鼠标提示中
L["Done Scanning"] = "完成扫描" L["Done Scanning"] = "完成扫描"
L["Download the FREE TSM desktop application which will automatically update your TSM_AuctionDB prices using Blizzard's online APIs (and does MUCH more). Visit %s for more info and never scan the AH again! This is the best way to update your AuctionDB prices."] = "下载完全免费的 TSM APP (TSM应用程序) 来更新你的 AuctionDB数据库中的物品价格 (利用到暴雪提供的在线APIs)。访问 %s 来获取更多信息。以后将不用在游戏里扫描拍卖行物价了,这将是更新拍卖行物价好最好的方法。" L["Download the FREE TSM desktop application which will automatically update your TSM_AuctionDB prices using Blizzard's online APIs (and does MUCH more). Visit %s for more info and never scan the AH again! This is the best way to update your AuctionDB prices."] = "下载完全免费的 TSM APP (TSM应用程序) 来更新你的 AuctionDB数据库中的物品价格 (利用到暴雪提供的在线APIs)。访问 %s 来获取更多信息。以后将不用在游戏里扫描拍卖行物价了,这将是更新拍卖行物价好最好的方法。"
L["Enable display of AuctionDB data in tooltip."] = "在鼠标提示中显示AuctionDB数据" L["Enable display of AuctionDB data in tooltip."] = "在鼠标提示中显示AuctionDB数据"
L["GetAll scan did not run successfully due to issues on Blizzard's end. Using the TSM application for your scans is recommended."] = "快速扫描由于服务器端的争议而不能成功的运行,因此强烈推荐使用 TSM APP 进行物价扫描。"
L["Hide poor quality items"] = "隐藏灰色物品" L["Hide poor quality items"] = "隐藏灰色物品"
L["If checked, poor quality items won't be shown in the search results."] = "如果勾选,灰色物品将不会出现在扫描结果中。" L["If checked, poor quality items won't be shown in the search results."] = "如果勾选,灰色物品将不会出现在扫描结果中。"
L["If checked, the lowest buyout value seen in the last scan of the item will be displayed."] = "如果勾选,将显示上次扫描的物品最低一口价。" L["If checked, the lowest buyout value seen in the last scan of the item will be displayed."] = "如果勾选,将显示上次扫描的物品最低一口价。"
@ -44,7 +40,6 @@ L["Items per page"] = "每页显示的物品"
L["Items %s - %s (%s total)"] = "物品 %s - %s (总数 %s) " L["Items %s - %s (%s total)"] = "物品 %s - %s (总数 %s) "
L["Item SubType Filter"] = "物品子类型筛选" L["Item SubType Filter"] = "物品子类型筛选"
L["Item Type Filter"] = "物品类型筛选" L["Item Type Filter"] = "物品类型筛选"
L["It is strongly recommended that you reload your ui (type '/reload') after running a GetAll scan. Otherwise, any other scans (Post/Cancel/Search/etc) will be much slower than normal."] = "强烈推荐您在运行快速扫描后重载界面(输入'/reload'),否则任何其他的扫描(上架/下架/搜索等)都较平时要慢。"
L["Last Scanned"] = "上一次扫描" L["Last Scanned"] = "上一次扫描"
L["Last updated from in-game scan %s ago."] = "距离上次游戏内的数据扫描 %s 。" L["Last updated from in-game scan %s ago."] = "距离上次游戏内的数据扫描 %s 。"
L["Last updated from the TSM Application %s ago."] = "距离上次游戏外TSM APP的数据扫描 %s 。" L["Last updated from the TSM Application %s ago."] = "距离上次游戏外TSM APP的数据扫描 %s 。"
@ -71,7 +66,6 @@ L["Reset Data"] = "重置数据"
L["Resets AuctionDB's scan data"] = "重置AuctionDB扫描数据" L["Resets AuctionDB's scan data"] = "重置AuctionDB扫描数据"
L["Result Order:"] = "结果顺序:" L["Result Order:"] = "结果顺序:"
L["Run Full Scan"] = "执行完整扫描" L["Run Full Scan"] = "执行完整扫描"
L["Run GetAll Scan"] = "进行快速扫描"
L["Running query..."] = "运行查询…" L["Running query..."] = "运行查询…"
L["%s ago"] = "%s之前" L["%s ago"] = "%s之前"
L["Scanning page %s/%s"] = "扫描页面 %s/%s" L["Scanning page %s/%s"] = "扫描页面 %s/%s"

6
TradeSkillMaster_AuctionDB/Locale/zhTW.lua

@ -13,14 +13,11 @@
local L = LibStub("AceLocale-3.0"):NewLocale("TradeSkillMaster_AuctionDB", "zhTW") local L = LibStub("AceLocale-3.0"):NewLocale("TradeSkillMaster_AuctionDB", "zhTW")
if not L then return end if not L then return end
L["A full auction house scan will scan every item on the auction house but is far slower than a GetAll scan. Expect this scan to take several minutes or longer."] = "完整的拍賣行掃描會掃描每件在拍賣行的物品但是比GetAll掃描還緩慢。預期掃描會花費幾分鐘或是更久。"
-- L["A GetAll scan is the fastest in-game method for scanning every item on the auction house. However, there are many possible bugs on Blizzard's end with it including the chance for it to disconnect you from the game. Also, it has a 15 minute cooldown. You can disable the GetAll button via TSM's AuctionDB options if this feature doesn't work well on your server."] = ""
L["Any items in the AuctionDB database that contain the search phrase in their names will be displayed."] = "任何在AuctionDB資料庫中符合搜尋條件的物品,都會顯示出來。" L["Any items in the AuctionDB database that contain the search phrase in their names will be displayed."] = "任何在AuctionDB資料庫中符合搜尋條件的物品,都會顯示出來。"
L["Are you sure you want to clear your AuctionDB data?"] = "你確定要清除AuctionDB資料?" L["Are you sure you want to clear your AuctionDB data?"] = "你確定要清除AuctionDB資料?"
L["Ascending"] = "遞增" L["Ascending"] = "遞增"
L["AuctionDB - Market Value"] = "AuctionDB - 市場價格" L["AuctionDB - Market Value"] = "AuctionDB - 市場價格"
L["AuctionDB - Minimum Buyout"] = "AuctionDB - 最小直購價" L["AuctionDB - Minimum Buyout"] = "AuctionDB - 最小直購價"
-- L["Can't run a GetAll scan right now."] = ""
L["Descending"] = "遞減" L["Descending"] = "遞減"
-- L["Display lowest buyout value seen in the last scan in tooltip."] = "" -- L["Display lowest buyout value seen in the last scan in tooltip."] = ""
-- L["Display market value in tooltip."] = "" -- L["Display market value in tooltip."] = ""
@ -29,7 +26,6 @@ L["Descending"] = "遞減"
L["Done Scanning"] = "完成掃描" L["Done Scanning"] = "完成掃描"
-- L["Download the FREE TSM desktop application which will automatically update your TSM_AuctionDB prices using Blizzard's online APIs (and does MUCH more). Visit %s for more info and never scan the AH again! This is the best way to update your AuctionDB prices."] = "" -- L["Download the FREE TSM desktop application which will automatically update your TSM_AuctionDB prices using Blizzard's online APIs (and does MUCH more). Visit %s for more info and never scan the AH again! This is the best way to update your AuctionDB prices."] = ""
L["Enable display of AuctionDB data in tooltip."] = "啟用在提示顯示AuctionDB資料。" L["Enable display of AuctionDB data in tooltip."] = "啟用在提示顯示AuctionDB資料。"
-- L["GetAll scan did not run successfully due to issues on Blizzard's end. Using the TSM application for your scans is recommended."] = ""
L["Hide poor quality items"] = "隱藏低品質物品" L["Hide poor quality items"] = "隱藏低品質物品"
L["If checked, poor quality items won't be shown in the search results."] = "勾選,低品質物㗊將不會顯示在搜尋記錄。" L["If checked, poor quality items won't be shown in the search results."] = "勾選,低品質物㗊將不會顯示在搜尋記錄。"
-- L["If checked, the lowest buyout value seen in the last scan of the item will be displayed."] = "" -- L["If checked, the lowest buyout value seen in the last scan of the item will be displayed."] = ""
@ -44,7 +40,6 @@ L["Items per page"] = "一頁幾項物品"
L["Items %s - %s (%s total)"] = "物品%s - %s (總共:%s)" L["Items %s - %s (%s total)"] = "物品%s - %s (總共:%s)"
L["Item SubType Filter"] = "物品次要類型過濾" L["Item SubType Filter"] = "物品次要類型過濾"
L["Item Type Filter"] = "物品類型過濾" L["Item Type Filter"] = "物品類型過濾"
L["It is strongly recommended that you reload your ui (type '/reload') after running a GetAll scan. Otherwise, any other scans (Post/Cancel/Search/etc) will be much slower than normal."] = "強烈建議你在跑了GetAll掃描後重新載入你的UI(輸入\"/reload\")。否則,任何其它掃描(發佈/取消/搜尋/等等)都會比平常更慢。"
L["Last Scanned"] = "最後掃描" L["Last Scanned"] = "最後掃描"
-- L["Last updated from in-game scan %s ago."] = "" -- L["Last updated from in-game scan %s ago."] = ""
-- L["Last updated from the TSM Application %s ago."] = "" -- L["Last updated from the TSM Application %s ago."] = ""
@ -71,7 +66,6 @@ L["Reset Data"] = "重置資料"
L["Resets AuctionDB's scan data"] = "重置AuctionDB的掃描資料" L["Resets AuctionDB's scan data"] = "重置AuctionDB的掃描資料"
L["Result Order:"] = "結果順序:" L["Result Order:"] = "結果順序:"
L["Run Full Scan"] = "執行完整掃描" L["Run Full Scan"] = "執行完整掃描"
L["Run GetAll Scan"] = "執行GetAll掃描"
-- L["Running query..."] = "" -- L["Running query..."] = ""
L["%s ago"] = "%s以前" L["%s ago"] = "%s以前"
-- L["Scanning page %s/%s"] = "" -- L["Scanning page %s/%s"] = ""

2
TradeSkillMaster_AuctionDB/Modules/ChannelSync.lua

@ -106,7 +106,7 @@ local function DecodePayload(encoded)
end end
function ChannelSync:BroadcastScanData(scanType, items) function ChannelSync:BroadcastScanData(scanType, items)
if scanType ~= "Full" and scanType ~= "GetAll" and scanType ~= "Group" and scanType ~= "Search" then if scanType ~= "Full" and scanType ~= "Group" and scanType ~= "Search" then
return return
end end
if TSM.processingData then if TSM.processingData then

195
TradeSkillMaster_AuctionDB/Modules/GUI.lua

@ -20,7 +20,10 @@ function GUI:Show(frame)
private.startScanContent = private.startScanContent or private:CreateStartScanContent(frame) private.startScanContent = private.startScanContent or private:CreateStartScanContent(frame)
private.startScanContent:Show() private.startScanContent:Show()
if TSM.Scan.isScanning and TSM.Scan.isScanning ~= "GetAll" then if TSM.Scan.isScanning and not TSMAPI.AuctionScan:IsScanning() then
TSM.Scan:DoneScanning()
end
if TSM.Scan.isScanning then
GUI:SetPauseEnabled(true) GUI:SetPauseEnabled(true)
GUI:SetPaused(TSMAPI.AuctionScan:IsPaused()) GUI:SetPaused(TSMAPI.AuctionScan:IsPaused())
else else
@ -33,7 +36,10 @@ function GUI:Hide()
private.statusBar:Hide() private.statusBar:Hide()
private.startScanContent:Hide() private.startScanContent:Hide()
if TSM.Scan.isScanning and TSM.Scan.isScanning ~= "GetAll" then if TSM.Scan.isScanning and not TSMAPI.AuctionScan:IsScanning() then
TSM.Scan:DoneScanning()
end
if TSM.Scan.isScanning then
TSM.Scan:PauseScan() TSM.Scan:PauseScan()
else else
TSM.Scan:DoneScanning() TSM.Scan:DoneScanning()
@ -78,67 +84,27 @@ function private:CreateStartScanContent(parent)
frame:SetAllPoints(parent) frame:SetAllPoints(parent)
frame:Hide() frame:Hide()
-- Don't create or handle the GetAll button if player has disabled GetAll.
-- NOTE: This GUI creation is only done once per game reload, so this choice
-- won't change until the user does a UI "/reload" or logs out of the game.
local includeGetAll = not TSM.db.profile.disableGetAll
local function UpdateGetAllButton()
if not frame.startGetAllButton then
return -- Do nothing if the GetAll feature is disabled.
end
if TSM.Scan.isScanning then
frame:Disable()
elseif not select(2, CanSendAuctionQuery()) then
-- Server says that GetAll isn't ready. Check our stored cooldown value.
local previous = TSM.db.profile.lastGetAll or time()
if previous > (time() - 15*60) then -- 15 minute enforced cooldown between GetAll scans...
local diff = previous + 15*60 - time()
local diffMin = math.floor(diff/60)
local diffSec = diff - diffMin*60
frame.getAllStatusText:SetText("|cff990000"..format(L["Ready in %s min and %s sec"], diffMin, diffSec))
else
frame.getAllStatusText:SetText("|cff990000"..L["Not Ready"])
end
frame:Enable()
frame.startGetAllButton:Disable()
else
-- Server says that GetAll is ready.
frame:Enable()
frame.getAllStatusText:SetText("|cff009900"..L["Ready"])
frame.startGetAllButton:Enable()
end
end
if includeGetAll then
frame:SetScript("OnShow", function(self)
TSMAPI:CreateTimeDelay("auctionDBGetAllStatus", 0, UpdateGetAllButton, 0.2)
end)
frame:SetScript("OnHide", function(self)
TSMAPI:CancelFrame("auctionDBGetAllStatus")
end)
end
frame.Enable = function(self) frame.Enable = function(self)
if self.startGetAllButton then self.startGetAllButton:Enable() end
self.startFullScanButton:Enable() self.startFullScanButton:Enable()
self.pauseFullScanButton:Disable() self.pauseFullScanButton:Disable()
self.cancelScanButton:Disable()
self.startGroupScanButton:Enable() self.startGroupScanButton:Enable()
self.startInventoryScanButton:Enable()
self.startBagScanButton:Enable() self.startBagScanButton:Enable()
self.startBankScanButton:Enable() self.startBankScanButton:Enable()
end end
frame.Disable = function(self) frame.Disable = function(self)
if self.startGetAllButton then self.startGetAllButton:Disable() end
self.startFullScanButton:Disable() self.startFullScanButton:Disable()
if TSM.Scan.isScanning and TSM.Scan.isScanning ~= "GetAll" then if TSM.Scan.isScanning then
self.pauseFullScanButton:Enable() self.pauseFullScanButton:Enable()
self.cancelScanButton:Enable()
else else
self.pauseFullScanButton:Disable() self.pauseFullScanButton:Disable()
self.cancelScanButton:Disable()
end end
self.startGroupScanButton:Disable() self.startGroupScanButton:Disable()
self.startInventoryScanButton:Disable()
self.startBagScanButton:Disable() self.startBagScanButton:Disable()
self.startBankScanButton:Disable() self.startBankScanButton:Disable()
end end
@ -178,33 +144,8 @@ function private:CreateStartScanContent(parent)
buttonFrame:SetPoint("TOPLEFT", content, "TOPRIGHT", -200, 0) buttonFrame:SetPoint("TOPLEFT", content, "TOPRIGHT", -200, 0)
buttonFrame:SetPoint("BOTTOMRIGHT") buttonFrame:SetPoint("BOTTOMRIGHT")
-- Row: GetAll Scan. -- Row: Full Scan.
-- NOTE: We hide this button if the player has disabled GetAll scans.
local yOffset = -50 local yOffset = -50
if includeGetAll then
local btn = TSMAPI.GUI:CreateButton(buttonFrame, 18)
btn:SetPoint("TOPLEFT", 6, yOffset)
btn:SetPoint("TOPRIGHT", -6, yOffset)
btn:SetHeight(22)
btn:SetScript("OnClick", TSM.Scan.StartGetAllScan)
btn:SetText(L["Run GetAll Scan"])
btn.tooltip = L["A GetAll scan is the fastest in-game method for scanning every item on the auction house. However, there are many possible bugs on Blizzard's end with it including the chance for it to disconnect you from the game. Also, it has a 15 minute cooldown. You can disable the GetAll button via TSM's AuctionDB options if this feature doesn't work well on your server."]
frame.startGetAllButton = btn
local text = TSMAPI.GUI:CreateLabel(buttonFrame)
text:SetPoint("TOPLEFT", btn, "BOTTOMLEFT", 0, -3)
text:SetPoint("TOPRIGHT", btn, "BOTTOMRIGHT", 0, -3)
text:SetHeight(16)
text:SetJustifyH("CENTER")
text:SetJustifyV("CENTER")
frame.getAllStatusText = text
yOffset = yOffset - 50
TSMAPI.GUI:CreateHorizontalLine(buttonFrame, yOffset)
yOffset = yOffset - 20
end
-- Row: Full Scan. -- Row: Full Scan.
local btn = TSMAPI.GUI:CreateButton(buttonFrame, 18) local btn = TSMAPI.GUI:CreateButton(buttonFrame, 18)
@ -213,19 +154,10 @@ function private:CreateStartScanContent(parent)
btn:SetHeight(22) btn:SetHeight(22)
btn:SetScript("OnClick", TSM.Scan.StartFullScan) btn:SetScript("OnClick", TSM.Scan.StartFullScan)
btn:SetText(L["Run Full Scan"]) btn:SetText(L["Run Full Scan"])
btn.tooltip = L["A full auction house scan will scan every item on the auction house but is far slower than a GetAll scan. Expect this scan to take several minutes or longer."] btn.tooltip = L["A full auction house scan will scan every item on the auction house. Expect this scan to take several minutes or longer."]
frame.startFullScanButton = btn frame.startFullScanButton = btn
local pauseBtn = TSMAPI.GUI:CreateButton(buttonFrame, 16) yOffset = yOffset - 40
pauseBtn:SetPoint("TOPLEFT", 6, yOffset - 24)
pauseBtn:SetPoint("TOPRIGHT", -6, yOffset - 24)
pauseBtn:SetHeight(18)
pauseBtn:SetScript("OnClick", TSM.Scan.TogglePause)
pauseBtn:SetText(L["Pause"])
pauseBtn:Disable()
frame.pauseFullScanButton = pauseBtn
yOffset = yOffset - 60
TSMAPI.GUI:CreateHorizontalLine(buttonFrame, yOffset) TSMAPI.GUI:CreateHorizontalLine(buttonFrame, yOffset)
@ -247,6 +179,18 @@ function private:CreateStartScanContent(parent)
yOffset = yOffset - 20 yOffset = yOffset - 20
-- Row: Inventory Scan.
local btn = TSMAPI.GUI:CreateButton(buttonFrame, 18)
btn:SetPoint("TOPLEFT", 6, yOffset)
btn:SetPoint("TOPRIGHT", -6, yOffset)
btn:SetHeight(22)
btn:SetScript("OnClick", GUI.StartInventoryScan)
btn:SetText(L["Scan Inventory"])
btn.tooltip = L["Scans bags and bank for all characters."]
frame.startInventoryScanButton = btn
yOffset = yOffset - 30
-- Row: Bag Scan. -- Row: Bag Scan.
local btn = TSMAPI.GUI:CreateButton(buttonFrame, 18) local btn = TSMAPI.GUI:CreateButton(buttonFrame, 18)
btn:SetPoint("TOPLEFT", 6, yOffset) btn:SetPoint("TOPLEFT", 6, yOffset)
@ -269,6 +213,32 @@ function private:CreateStartScanContent(parent)
btn.tooltip = L["Scan bank items."] btn.tooltip = L["Scan bank items."]
frame.startBankScanButton = btn frame.startBankScanButton = btn
yOffset = yOffset - 40
TSMAPI.GUI:CreateHorizontalLine(buttonFrame, yOffset)
yOffset = yOffset - 20
local pauseBtn = TSMAPI.GUI:CreateButton(buttonFrame, 16)
pauseBtn:SetPoint("TOPLEFT", 6, yOffset)
pauseBtn:SetPoint("TOPRIGHT", -6, yOffset)
pauseBtn:SetHeight(18)
pauseBtn:SetScript("OnClick", TSM.Scan.TogglePause)
pauseBtn:SetText(L["Pause"])
pauseBtn:Disable()
frame.pauseFullScanButton = pauseBtn
yOffset = yOffset - 24
local cancelBtn = TSMAPI.GUI:CreateButton(buttonFrame, 16)
cancelBtn:SetPoint("TOPLEFT", 6, yOffset)
cancelBtn:SetPoint("TOPRIGHT", -6, yOffset)
cancelBtn:SetHeight(18)
cancelBtn:SetScript("OnClick", GUI.CancelScan)
cancelBtn:SetText(L["Cancel Scan"])
cancelBtn:Disable()
frame.cancelScanButton = cancelBtn
return frame return frame
end end
@ -283,17 +253,44 @@ function GUI:StartGroupScan()
TSM.Scan:StartGroupScan(items) TSM.Scan:StartGroupScan(items)
end end
function private:GetItemTrackerItems(key) function GUI:StartInventoryScan()
local data = TSMAPI:ModuleAPI("ItemTracker", key) local players = TSMAPI:ModuleAPI("ItemTracker", "playerlist")
if not data then if not players then
TSM:Print(L["ItemTracker data unavailable."]) TSM:Print(L["ItemTracker data unavailable."])
return return
end end
local specificItems = {} local specificItems, baseCandidates, hasSpecific = {}, {}, {}
local baseCandidates = {} for _, player in ipairs(players) do
local hasSpecific = {} local bags = TSMAPI:ModuleAPI("ItemTracker", "playerbags", player)
local bank = TSMAPI:ModuleAPI("ItemTracker", "playerbank", player)
if bags then
private:CollectItemStrings(bags, specificItems, baseCandidates, hasSpecific)
end
if bank then
private:CollectItemStrings(bank, specificItems, baseCandidates, hasSpecific)
end
end
for baseItemString in pairs(baseCandidates) do
if not hasSpecific[baseItemString] then
specificItems[baseItemString] = true
end
end
local items = {}
for itemString in pairs(specificItems) do
tinsert(items, itemString)
end
if #items == 0 then
TSM:Print(L["No inventory items found."])
return
end
TSM.Scan:StartGroupScan(items)
end
function private:CollectItemStrings(data, specificItems, baseCandidates, hasSpecific)
for itemString in pairs(data) do for itemString in pairs(data) do
if type(itemString) == "string" then if type(itemString) == "string" then
local baseItemString = TSMAPI:GetBaseItemString(itemString) or itemString local baseItemString = TSMAPI:GetBaseItemString(itemString) or itemString
@ -305,6 +302,17 @@ function private:GetItemTrackerItems(key)
end end
end end
end end
end
function private:GetItemTrackerItems(key)
local data = TSMAPI:ModuleAPI("ItemTracker", key)
if not data then
TSM:Print(L["ItemTracker data unavailable."])
return
end
local specificItems, baseCandidates, hasSpecific = {}, {}, {}
private:CollectItemStrings(data, specificItems, baseCandidates, hasSpecific)
for baseItemString in pairs(baseCandidates) do for baseItemString in pairs(baseCandidates) do
if not hasSpecific[baseItemString] then if not hasSpecific[baseItemString] then
@ -344,3 +352,8 @@ function GUI:StartBankScan()
TSM.Scan:StartGroupScan(items) TSM.Scan:StartGroupScan(items)
end end
function GUI:CancelScan()
TSMAPI.AuctionScan:StopScan(true)
TSM.Scan:DoneScanning()
end

277
TradeSkillMaster_AuctionDB/Modules/Scanning.lua

@ -27,10 +27,8 @@ local function FullScanCallback(event, ...)
-- We're running a "Full Scan" and have received an auction page. -- We're running a "Full Scan" and have received an auction page.
-- NOTE: These normal per-page scans receive 50 items per page, and will -- NOTE: These normal per-page scans receive 50 items per page, and will
-- successfully download ALL auctions on private servers, thanks to pagination. -- successfully download ALL auctions on private servers, thanks to pagination.
-- For example, while Warmane's "GetAll" only returns 55000 of 126559 auctions, -- For example, a full scan retrieves all pages of 50 items each,
-- the regular "Full Scan" mode retrieves all 2532 pages of 50 items each, -- meaning that it covers the entire auction list.
-- meaning that it covers 126600 auctions (and therefore grabs them all)
-- in this example. Users should always prefer "Full Scan" when "GetAll" fails.
local page, total = ... local page, total = ...
-- Calculate the current page progress and the remainder as floating-point values. -- Calculate the current page progress and the remainder as floating-point values.
@ -167,239 +165,6 @@ local function FullScanCallback(event, ...)
end end
end end
function Scan.ProcessGetAllScan(self)
-- Await the "AUCTION_ITEM_LIST_UPDATE" event with the results of the "get all" scan.
-- NOTE: This event won't be received if the server ignored/throttled the "get all" scan.
local time_start = time()
local progress_bar = 0
while true do
-- NOTE: The fake progress bar takes 20 seconds to fill to 100% with this interval.
progress_bar = min(progress_bar + 1, 100) -- Fake progress bar from 0-100%.
self:Sleep(0.2) -- Update progress bar with this interval while waiting for server data.
if not Scan.isScanning then return end -- Failed or aborted scan.
if Scan.getAllLoaded then -- We have received the list of auctions via "AUCTION_ITEM_LIST_UPDATE" event!
break
end
-- NOTE: If it has taken more than 30 seconds, we can assume that the server
-- didn't send any data and won't be replying, most likely due to hidden
-- throttling (happens on many private servers, if scanning too soon after another).
local time_elapsed = time() - time_start
if time_elapsed >= 30 then
-- If this happens, the user has most likely been throttled and should try again later.
TSM.GUI:UpdateStatus(L["Running query... Server not responding due to throttling? Try again later..."], nil, 100)
else
TSM.GUI:UpdateStatus(L["Running query..."], nil, progress_bar)
end
end
-- IMPORTANT: As explained in the "Scan:AUCTION_ITEM_LIST_UPDATE()" code
-- comments, we're allowing GetAll scans even when the server DOESN'T return
-- all auctions. For example, Warmane has chosen to limit GetAll results to
-- only 55k auctions (even though they usually have 120k+ auctions). This
-- means that the market data calculations will be missing data. We should
-- therefore warn the user and tell them to use "Full Scan" instead, when
-- they're playing on such "limited GetAll" servers. But we'll still allow
-- use of "GetAll", with a warning message for people who INSIST on using it,
-- since even when it only looks at half the auctions, it can still give a
-- "pretty decent" idea of market values.
-- NOTE: It WOULD be "best" to always throw away (ignore) incomplete "GetAll"
-- data, but most casual players will prefer to have this feature even if those
-- incomplete scans are much less accurate than a proper "Full Scan".
-- NOTE: The inaccuracy of an incomplete "GetAll" scan completely depends on
-- how the server implements "GetAll". If the server sorts the cheapest
-- auctions first, then it's somewhat acceptable for popular items which
-- have many stacks (and are therefore likely to contain enough data points
-- in the "GetAll" result), and those items will "just" tend to be undervalued
-- by 2-10% less than their real market value (since their percentile-based
-- scans will look at less auctions than the real amount). But for very rare
-- or unpopular items, the partial "GetAll" scan is very dangerous, since
-- you might only receive the massively overpriced auctions of a certain
-- item, and thereby calculate an insanely high market value for it. These
-- dangers are increased if the server sends the auctions in a totally
-- random order, which means an even greater risk of market price pollution
-- by only seeing overpriced auctions for many of the items.
-- NOTE: Furthermore, receiving incomplete "GetAll" results means that TSM
-- will wipe all of its "cheapest, current buyout price" data for all items,
-- and then fills them with incorrect data (or nothing at all if an item
-- wasn't seen in the latest fetch), thus hindering your ability to look up
-- the correct "best current buyout prices" too.
-- NOTE: In summary, you'll have to use partial "GetAll" results at your
-- own risk! A "Full Scan" is ALWAYS much better when your server's "GetAll"
-- doesn't provide all auction data!
local shown, total = GetNumAuctionItems("list")
if total ~= Scan.getAllLoaded then -- getAllLoaded = Same as "shown", but cached via our GetAll event.
-- NOTE: Message is not localized, because who the hell is gonna provide
-- translations to this project? It'd be a waste of time to translate it,
-- especially since we dynamically insert a word based on the result.
TSM:Print(format(
"WARNING: Your server has %d auctions, but it%s sent %d auctions to us. Please use the normal \"Full Scan\" instead, if you want to accurately calculate the real market values of items. Your server's \"GetAll\" scan doesn't fetch all auctions!",
total, ((total > shown) and " only" or ""), shown
))
else
TSM:Print(format("All auctions received from server (%d auctions)...", Scan.getAllLoaded))
end
-- Collect relevant data about the auctions that we've received.
-- NOTE: "Scan.getAllLoaded" is the count of auctions we've received from
-- the server. One per listing. We keep this cached value to constantly verify
-- that we're still looking at the same auction-list while we're processing.
local data = {}
progress_bar = 0
for auction_idx=1, Scan.getAllLoaded do
if (auction_idx == 1) or (auction_idx == Scan.getAllLoaded) or ((auction_idx % 100) == 0) then
-- Update progress bar for the 1st, last, and every 100th auction.
progress_bar = min(100*(auction_idx/Scan.getAllLoaded), 100) -- Calculate progress bar from 0-100%.
TSM.GUI:UpdateStatus(format(L["Scanning page %s/%s"], 1, 1), progress_bar)
-- Yield the CPU every 100th "auction listing", to prevent freezing the game.
self:Yield()
-- Verify the currently visible auction count, to ensure that we're
-- still analyzing the same list of "GetAll" auction items.
if GetNumAuctionItems("list") ~= Scan.getAllLoaded then
-- This can happen due to server/game issues, or if the user
-- closes the auction GUI while we're processing. If that
-- happens, we'll abort the scan without processing the data.
--TSM:Print(L["GetAll scan did not run successfully due to issues on Blizzard's end. Using the TSM application for your scans is recommended."])
TSM:Print("GetAll: Scan failed or aborted by user.")
Scan:DoneScanning() -- Sets isScanning and getAllLoaded to nil.
return
end
end
-- Retrieve information about this auction.
-- * itemID = The numeric ID of the item (such as 52021, which would represent "Iceblade Arrow" for example).
-- * stack_size = How many are in this auction's exact "stack" (such as 940, if they're selling a stack of 940).
-- * buyout = The buyout price of the auction (to get the per-item price, we need to divide "buyout / stack_size").
local itemID = TSMAPI:GetItemID(GetAuctionItemLink("list", auction_idx))
--local _, _, stack_size, _, _, _, _, _, _, buyout = GetAuctionItemInfo("list", auction_idx)
local _, _, stack_size, _, _, _, _, _, buyout = GetAuctionItemInfo("list", auction_idx)
-- Only process this auction if we saw a valid buyout price (ignore bid-only auctions, etc).
if itemID and buyout and (buyout > 0) then
-- Calculate the price per item, always rounded downwards.
-- NOTE: TSM's "buyout per item" calculations are actually a freaking
-- mess. They basically use "floor(buyout/count)" everywhere in the
-- code, EXCEPT in SOME places where they use "floor(buyout/count + 0.5)"
-- which means that those round to the nearest number instead, which
-- is definitely more correct. In fact, it would probably be even more
-- correct to enforce a minimum value of "1", otherwise a stack of
-- 100 items for a total buyout price of 10 copper would end up as
-- "0 copper per item" by the basic flooring algorithm (floor(0.1) = 0).
-- But whatever, it's extremely inconsistently used everywhere in TSM's
-- codebase, and most places use the plain "floor downwards", so we'll
-- do that too. It would be way too much effort to rewrite the HUNDREDS of
-- other code locations that deal with money (all via differently named
-- variables), just to handle smarter rounding, and it would require
-- a lot of effort to ensure that TSM's algorithms still work afterwards.
-- But yeah, just realize this: TSM's per-item calculations aren't great,
-- however it really DOESN'T MATTER MUCH since it only affects items
-- whose prices are less than 1 copper per item, which is probably
-- why TSM's author never noticed any issues with the basic "floor()".
local buyout_per_item = floor(buyout / stack_size)
-- Append to the existing "data to process" for this item ID if exists, else create new item.
data[itemID] = data[itemID]
if not data[itemID] then
data[itemID] = {records={}, minBuyout=math.huge, quantity=0}
end
-- Calculate the lowest "per-item buyout price" we're seeing for this item.
data[itemID].minBuyout = min(data[itemID].minBuyout, buyout_per_item)
-- Count the total amount of this item that exists on the auction house (adds together all stacks).
-- NOTE: This is super useful when we're calculating the market value in data.lua,
-- since it tells us immediately what the total count (quantity) of all new records is.
data[itemID].quantity = data[itemID].quantity + stack_size
-- BRAINDEAD OLD TSM CODE WHICH ADDS 1 RECORD PER ITEM IN THE STACK,
-- MEANING 500 STACKS OF 1000 ARROWS WOULD BE HALF A MILLION TABLE
-- ROWS AND WOULD LEAD TO "OUT OF MEMORY" ERRORS. DON'T DO THIS!
-- for j=1, stack_size do
-- tinsert(data[itemID].records, buyout_per_item)
-- end
-- Rewritten, intelligent code which adds 1 record per "stack" (auction) instead.
-- NOTE: We avoid using hash-keys, saving memory by using a numeric array instead.
-- NOTE: We'll store 1 table per unique itemID, and 1 record per "auction"
-- which passed our filters (has a buyout price), meaning that it's usually
-- a bit less than the total auction count on the server, and will never
-- be too many rows for WoW's Lua memory system to handle.
-- NOTE: If there is ever a server with so many auctions that even this
-- would reach WoW's Lua memory limits, then we could possibly store
-- the records as a concatenated, semicolon-separated string instead,
-- which would be slower but would handle millions of auctions with ease.
tinsert(data[itemID].records, {stack_size, buyout_per_item})
end
end
-- Process the collected "GetAll" auction data as a new "complete scan" with today's date.
TSM.db.realm.lastCompleteScan = time()
TSM.Data:ProcessData(data, nil, verifyNewAlgorithm)
if TSM.ChannelSync then
TSM.ChannelSync:BroadcastScanData("GetAll")
end
-- Show GUI progress while we're waiting for the processing.
-- NOTE: The status text will be set to "complete" elsewhere, automatically.
TSM.GUI:UpdateStatus(L["Processing data..."])
while TSM.processingData do
self:Sleep(0.2)
end
-- Processing is complete, so warn the user that they should reload the UI now.
TSM:Print(L["It is strongly recommended that you reload your ui (type '/reload') after running a GetAll scan. Otherwise, any other scans (Post/Cancel/Search/etc) will be much slower than normal."])
end
function Scan:AUCTION_ITEM_LIST_UPDATE()
Scan:UnregisterEvent("AUCTION_ITEM_LIST_UPDATE")
-- shown = How many auctions we received in the current data batch.
-- total = The total number of auction items.
local shown, total = GetNumAuctionItems("list")
-- OLD TSM CODE: It assumes that "GetAll" returns ALL auctions on official
-- Blizzard servers, so it also checks if "shown equals the total".
--if shown ~= total or shown == 0 then
-- WORKAROUND: Because places like Warmane with huge auction houses DON'T
-- return all items even via "GetAll" scans, we must ignore shown-vs-total
-- mismatches. The server won't let us query the subsequent pages since
-- there isn't any pagination in the "GetAll" API, and wouldn't work anyway
-- due to the 15-30 minute cooldown for "GetAll" calls, so we can't fetch
-- all auctions if the server is too popular. For example, typical
-- Warmane-Icecrown "GetAll" results will be: shown=55000, total=122523,
-- meaning that "GetAll" only receives about half of the total auctions.
if shown <= 0 then
--TSM:Print(L["GetAll scan did not run successfully due to issues on Blizzard's end. Using the TSM application for your scans is recommended."])
TSM:Print("GetAll: Scan failed due to server issues.")
Scan:DoneScanning() -- Sets isScanning and getAllLoaded to nil.
return
end
-- Cache the amount of auctions we received on the current "page/batch", so that
-- we can validate that we're looking at this "page" while processing later.
Scan.getAllLoaded = shown
end
function Scan:GetAllScanQuery()
-- NOTE: This API doesn't work properly on some servers. For example, on Warmane,
-- it always claims that you can do a "GetAll" scan after you log in, even
-- if you're on cooldown and the server will actually be ignoring your request,
-- which is why we had to implement timeout detection in "ProcessGetAllScan()".
local canScan, canGetAll = CanSendAuctionQuery()
if not canGetAll then return TSM:Print(L["Can't run a GetAll scan right now."]) end
if not canScan then return TSMAPI:CreateTimeDelay(0.5, Scan.GetAllScanQuery) end
Scan:RegisterEvent("AUCTION_ITEM_LIST_UPDATE")
QueryAuctionItems("", nil, nil, 0, 0, 0, 0, 0, 0, true)
TSMAPI.Threading:Start(Scan.ProcessGetAllScan, 1, function()
-- Pass through the cached "full scan complete elapsed" value, which ONLY
-- contains a value if the latest full scan was successfully completed.
-- NOTE: This callback runs when the thread is finished, no matter what
-- reason. That's why we must preserve the "time elapsed" value for display.
Scan:DoneScanning(Scan.fullScanCompleteElapsed)
end)
end
local function GroupScanCallback(event, ...) local function GroupScanCallback(event, ...)
if event == "QUERY_COMPLETE" then if event == "QUERY_COMPLETE" then
@ -467,7 +232,6 @@ end
function Scan:StartGroupScan(items) function Scan:StartGroupScan(items)
Scan.isScanning = "Group" Scan.isScanning = "Group"
Scan.isBuggedGetAll = nil
Scan.groupItems = items Scan.groupItems = items
wipe(Scan.filterList) wipe(Scan.filterList)
wipe(Scan.groupScanData) wipe(Scan.groupScanData)
@ -483,7 +247,6 @@ end
function Scan:StartFullScan() function Scan:StartFullScan()
Scan.isScanning = "Full" Scan.isScanning = "Full"
TSM.GUI:UpdateStatus(L["Running query..."]) TSM.GUI:UpdateStatus(L["Running query..."])
Scan.isBuggedGetAll = nil
Scan.groupItems = nil Scan.groupItems = nil
TSMAPI.AuctionScan:StopScan() TSMAPI.AuctionScan:StopScan()
TSM.GUI:SetPauseEnabled(true) TSM.GUI:SetPauseEnabled(true)
@ -494,27 +257,6 @@ function Scan:StartFullScan()
TSMAPI.AuctionScan:RunQuery({name=""}, FullScanCallback) TSMAPI.AuctionScan:RunQuery({name=""}, FullScanCallback)
end end
function Scan:StartGetAllScan()
-- Refuse to perform "GetAll" if we're called while "GetAll" is disabled.
-- NOTE: Only happens if the player has visited the auction house and looked
-- at the AuctionDB GUI, and THEN gone into TSM's options to disable "GetAll".
-- The "Run GetAll Scan" button remains until /reload, so we must block it.
if TSM.db.profile.disableGetAll then
TSM:Print(L["You have disabled GetAll scans via AuctionDB's options."])
return
end
-- Begin the "GetAll" scan.
TSM.db.profile.lastGetAll = time()
Scan.isScanning = "GetAll"
Scan.isBuggedGetAll = nil
Scan.groupItems = nil
TSMAPI.AuctionScan:StopScan()
TSM.GUI:SetPauseEnabled(false)
TSM.GUI:SetPaused(false)
Scan:GetAllScanQuery()
end
function Scan:DoneScanning(seconds_elapsed) function Scan:DoneScanning(seconds_elapsed)
if seconds_elapsed then if seconds_elapsed then
-- If given the "time elapsed", display it as "Done Scanning (1:35:27)". -- If given the "time elapsed", display it as "Done Scanning (1:35:27)".
@ -524,13 +266,12 @@ function Scan:DoneScanning(seconds_elapsed)
TSM.GUI:UpdateStatus(L["Done Scanning"], 100) TSM.GUI:UpdateStatus(L["Done Scanning"], 100)
end end
Scan.isScanning = nil Scan.isScanning = nil
Scan.getAllLoaded = nil
TSM.GUI:SetPauseEnabled(false) TSM.GUI:SetPauseEnabled(false)
TSM.GUI:SetPaused(false) TSM.GUI:SetPaused(false)
end end
function Scan:PauseScan() function Scan:PauseScan()
if not Scan.isScanning or Scan.isScanning == "GetAll" then return end if not Scan.isScanning then return end
if TSMAPI.AuctionScan:PauseScan("AuctionDB") then if TSMAPI.AuctionScan:PauseScan("AuctionDB") then
TSM.GUI:SetPaused(true) TSM.GUI:SetPaused(true)
TSM.GUI:UpdateStatus(L["Scan Paused"]) TSM.GUI:UpdateStatus(L["Scan Paused"])
@ -538,7 +279,11 @@ function Scan:PauseScan()
end end
function Scan:ResumeScan() function Scan:ResumeScan()
if not Scan.isScanning or Scan.isScanning == "GetAll" then return end if not Scan.isScanning then return end
if not TSMAPI.AuctionScan:IsScanning() then
Scan:DoneScanning()
return
end
if TSMAPI.AuctionScan:ResumeScan() then if TSMAPI.AuctionScan:ResumeScan() then
TSM.GUI:SetPaused(false) TSM.GUI:SetPaused(false)
TSM.GUI:UpdateStatus(L["Resuming Scan..."]) TSM.GUI:UpdateStatus(L["Resuming Scan..."])
@ -554,8 +299,7 @@ function Scan:TogglePause()
end end
function Scan:ProcessScanData(scanData) function Scan:ProcessScanData(scanData)
-- Handle scans performed via "Full Scan" and "Group Scan", but not "GetAll". -- Handle scans performed via "Full Scan" and "Group Scan".
-- NOTE: See "Scan.ProcessGetAllScan()" for full explanation of this algorithm.
local data = {} local data = {}
for itemString, obj in pairs(scanData) do for itemString, obj in pairs(scanData) do
@ -593,8 +337,7 @@ function Scan:ProcessScanData(scanData)
-- Add this item to "data to process" even if there's zero records, -- Add this item to "data to process" even if there's zero records,
-- which can happen if they're all bid-only auctions. -- which can happen if they're all bid-only auctions.
-- NOTE: This differs from the behavior of "ProcessGetAllScan", which -- NOTE: Empty records are fine; ProcessData ignores items without buyout prices.
-- only adds items that have at least 1 record with a buyout value.
-- NOTE: Empty records are totally fine either way, since "ProcessData" -- NOTE: Empty records are totally fine either way, since "ProcessData"
-- simply ignores items that don't contain any buyout prices. -- simply ignores items that don't contain any buyout prices.
-- NOTE: If no buyout records were found, the "minBuyout" and "quantity" -- NOTE: If no buyout records were found, the "minBuyout" and "quantity"

23
TradeSkillMaster_AuctionDB/Modules/config.lua

@ -383,20 +383,13 @@ function Config:LoadOptions(container)
title = "General Options", title = "General Options",
layout = "Flow", layout = "Flow",
children = { children = {
{ {
type = "CheckBox", type = "CheckBox",
label = L["Show AuctionDB AH Tab (Requires Reload)"], label = L["Show AuctionDB AH Tab (Requires Reload)"],
settingInfo = { TSM.db.profile, "showAHTab" }, settingInfo = { TSM.db.profile, "showAHTab" },
relativeWidth = 0.5, relativeWidth = 0.5,
tooltip = L["If checked, AuctionDB will add a tab to the AH to allow for in-game scans. If you are using the TSM app exclusively for your scans, you may want to hide it by unchecking this option. This option requires a reload to take effect."], tooltip = L["If checked, AuctionDB will add a tab to the AH to allow for in-game scans. If you are using the TSM app exclusively for your scans, you may want to hide it by unchecking this option. This option requires a reload to take effect."],
}, },
{
type = "CheckBox",
label = L["Disable \"GetAll\" Auction Scans"],
settingInfo = { TSM.db.profile, "disableGetAll" },
relativeWidth = 0.5,
tooltip = L["If checked, AuctionDB will not perform \"GetAll\" scans. This is useful if your server doesn't return all auctions in its \"GetAll\" results, which means that you'll get incorrect market value calculations for all items. If you're playing on such servers, it's best to disable the \"GetAll\" feature to avoid accidentally polluting your price database with incorrect data. This option takes effect immediately, but requires a reload to completely hide the \"Run GetAll Scan\" button."],
},
}, },
}, },
{ {
@ -493,4 +486,4 @@ function Config:LoadTooltipOptions(container)
} }
TSMAPI:BuildPage(container, page) TSMAPI:BuildPage(container, page)
end end

7
TradeSkillMaster_AuctionDB/Modules/data.lua

@ -190,8 +190,8 @@ function Data:ProcessData(scanData, groupItems, verifyNewAlgorithm, scanTime, sk
-- Wipe all of our existing "minBuyout" data for the items included in the -- Wipe all of our existing "minBuyout" data for the items included in the
-- new, incoming scan data in case of "Item Group scan", or for ALL currently -- new, incoming scan data in case of "Item Group scan", or for all items
-- cached items in memory in other cases (such as "Full" and "GetAll" scans). -- in memory for full scans.
-- NOTE: It's no problem if we leave some items empty with "nil" minBuyout -- NOTE: It's no problem if we leave some items empty with "nil" minBuyout
-- values. That's how TSM is supposed to work, with items having an empty "minBuyout" -- values. That's how TSM is supposed to work, with items having an empty "minBuyout"
-- if there wasn't any "minBuyout" data for that item in the newest data batch. -- if there wasn't any "minBuyout" data for that item in the newest data batch.
@ -323,12 +323,9 @@ function Data:ProcessData(scanData, groupItems, verifyNewAlgorithm, scanTime, sk
-- NOTE: This can happen if the scan data only contained "bid without -- NOTE: This can happen if the scan data only contained "bid without
-- buyout" items, meaning they didn't have any per-item buyout data, -- buyout" items, meaning they didn't have any per-item buyout data,
-- which can ONLY happen via "Scanning.lua:ProcessScanData()" when -- which can ONLY happen via "Scanning.lua:ProcessScanData()" when
-- doing a normal "Full Scan" or "Group Scan" (not "GetAll"). If
-- there aren't any buyout prices for the item, it still gets added -- there aren't any buyout prices for the item, it still gets added
-- without any "records". This differs from "GetAll" which only adds
-- items to the queue if they had at least one "buyout price" auction. -- items to the queue if they had at least one "buyout price" auction.
-- NOTE: We're skipping the empty/indeterminable items to ensure that -- NOTE: We're skipping the empty/indeterminable items to ensure that
-- we have identical behavior for both "GetAll" and all other scan
-- types, so that we NEVER add "empty/missing" market values for items! -- types, so that we NEVER add "empty/missing" market values for items!
-- NOTE: We allow a market value of "0", since it means there was -- NOTE: We allow a market value of "0", since it means there was
-- valid data in the calculations. However, "0" is extremely unlikely -- valid data in the calculations. However, "0" is extremely unlikely

1
TradeSkillMaster_AuctionDB/TradeSkillMaster_AuctionDB.lua

@ -34,7 +34,6 @@ local savedDBDefaults = {
marketValueTooltip = true, marketValueTooltip = true,
minBuyoutTooltip = true, minBuyoutTooltip = true,
showAHTab = true, showAHTab = true,
disableGetAll = false,
}, },
} }

Loading…
Cancel
Save