From a11726889d42bcb7fc9f3dcc0705855fd601b22b Mon Sep 17 00:00:00 2001 From: Bill Ferguson Date: Tue, 2 Apr 2024 19:09:31 -0400 Subject: [PATCH] tools/script_manager - add support for "local" libraries by adding entries in the package.path search path if required --- contrib/micharambou | 1 + data/icons/power.png | Bin 0 -> 426 bytes data/icons/poweroff.png | Bin 0 -> 599 bytes development | 1 + tools/script_manager.lua | 21 +++++++++++++++++++++ 5 files changed, 23 insertions(+) create mode 120000 contrib/micharambou create mode 100644 data/icons/power.png create mode 100644 data/icons/poweroff.png create mode 120000 development diff --git a/contrib/micharambou b/contrib/micharambou new file mode 120000 index 0000000..bbe4f2d --- /dev/null +++ b/contrib/micharambou @@ -0,0 +1 @@ +/home/bill/src/dtluadev/gitannex/micharambou/ \ No newline at end of file diff --git a/data/icons/power.png b/data/icons/power.png new file mode 100644 index 0000000000000000000000000000000000000000..f9d1fe578f888f3ecf937287e3d94e05a112229d GIT binary patch literal 426 zcmV;b0agBqP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10XIoR zK~yM_jgmhvL{SjM&%9Oo7YTMLGz%ws)~H1CJIeN?*DO=dPQvs*J86J2)w%92d49tXMh`uaSc>rGa1kT+Q2jL<*^NH0T%jy08L>r U|26I@$^ZZW07*qoM6N<$g6#{bzW@LL literal 0 HcmV?d00001 diff --git a/data/icons/poweroff.png b/data/icons/poweroff.png new file mode 100644 index 0000000000000000000000000000000000000000..1fb1e75c828d38f907b7ff7556dc73de0455ff10 GIT binary patch literal 599 zcmV-d0;v6oP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10pv+U zK~yM_jgY--lTjGOf6sm2bnzpxR7tEc5sm0#Qi^uaKR~1y-av7%Aa!zZut@(0QOV+0 zce_YYQ$HZ6xL7QeYLh__ba_pn6&(~EY~SWS4sTLZNs4E=mwV57&N+`m7o>9eQ_=Y0 zg;?TH^~dsuPn|fXn^=)!z;;!Jx^djUPTqu~7c9=ndgcDde~JBB@1P@E7WB4XnYq61 zoXqCO6uk7yg@&HC=i4)?1t4xlh) z>hB(w5ncj)HVB?{8;}|-B#gL^fnMN6ty+5K0vI=Pwh;vL0)sXP-Y0Wj(LtXQi7e~t zN&;hswPDAB9f0qw+0k&BO(X|S?-n)pfD>JF3$MhOGydBLOB=+k?^M?FtS~C*5YPvF lQ)J$#z3W$JN@3j)e*jLFrNd8l&ny4{002ovPDHLkV1h8c408Yg literal 0 HcmV?d00001 diff --git a/development b/development new file mode 120000 index 0000000..1c69f2f --- /dev/null +++ b/development @@ -0,0 +1 @@ +/home/bill/src/lua-scripts.local/development/ \ No newline at end of file diff --git a/tools/script_manager.lua b/tools/script_manager.lua index f8e6c73..d54f9e6 100644 --- a/tools/script_manager.lua +++ b/tools/script_manager.lua @@ -509,6 +509,25 @@ local function process_script_data(script_file) restore_log_level(old_log_level) end +local function ensure_lib_in_search_path(line) + local old_log_level = set_log_level(sm.log_level) + set_log_level(log.debug) + log.msg(log.debug, "line is " .. line) + if string.match(line, ds.sanitize_lua(dt.configuration.config_dir .. PS .. "lua/lib")) then + log.msg(log.debug, line .. " is already in search path, returning...") + return + end + local path = string.match(line, "(.+)/lib/.+lua") + log.msg(log.debug, "extracted path is " .. path) + log.msg(log.debug, "package.path is " .. package.path) + if not string.match(package.path, ds.sanitize_lua(path)) then + log.msg(log.debug, "path isn't in package.path, adding...") + package.path = package.path .. ";" .. path .. "/?.lua" + log.msg(log.debug, "new package.path is " .. package.path) + end + restore_log_level(old_log_level) +end + local function scan_scripts(script_dir) local old_log_level = set_log_level(sm.log_level) local script_count = 0 @@ -529,6 +548,8 @@ local function scan_scripts(script_dir) process_script_data(script_file) script_count = script_count + 1 end + else + ensure_lib_in_search_path(line) -- but let's make sure libraries can be found end end end