From 778ad2ce209397eb94d91498f9febfc5bc071851 Mon Sep 17 00:00:00 2001 From: wpferguson Date: Thu, 21 Jan 2021 21:20:17 -0500 Subject: [PATCH] [dtutils] added database.get_image() to find_image_by_id() for users with lua API 6.2.0 or greater --- lib/dtutils.lua | 42 +++++++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/lib/dtutils.lua b/lib/dtutils.lua index 48b5163..60403be 100644 --- a/lib/dtutils.lua +++ b/lib/dtutils.lua @@ -304,26 +304,30 @@ function dtutils.find_image_by_id(imgid) if #dt.database == 0 or imgid > dt.database[#dt.database].id then return nil end - local min = 1 - local max = #dt.database - while (max-min)//2 > 0 do - local mid = min + (max-min)//2 - local midID = dt.database[mid].id - if imgid == midID then - return dt.database[mid] - elseif imgid < midID then - max = mid-1 - else - min = mid+1 - end - end - if dt.database[min].id == imgid then - return dt.database[min] - elseif dt.database[max].id == imgid then - return dt.database[max] + if dt.configuration.api_version_string >= "6.3.0" then + return dt.database.get_image(imgid) else - return nil - end + local min = 1 + local max = #dt.database + while (max-min)//2 > 0 do + local mid = min + (max-min)//2 + local midID = dt.database[mid].id + if imgid == midID then + return dt.database[mid] + elseif imgid < midID then + max = mid-1 + else + min = mid+1 + end + end + if dt.database[min].id == imgid then + return dt.database[min] + elseif dt.database[max].id == imgid then + return dt.database[max] + else + return nil + end + end end return dtutils