From bd273118d2a05c0b971ae9ac742b342e713a105c Mon Sep 17 00:00:00 2001 From: Lunovox Date: Wed, 21 Feb 2024 02:38:24 -0300 Subject: [PATCH] --- api.lua | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/api.lua b/api.lua index 41e00c5..7383b69 100644 --- a/api.lua +++ b/api.lua @@ -79,11 +79,16 @@ modEUrn.handler = { } modEUrn.MinPlayedHours = tonumber(minetest.settings:get("eurn.voter.min_played_hours") or 90) -- value in hours +modEUrn.save_compressed = minetest.settings:get_bool("eurn.save_compressed") ~= false modEUrn.doSave = function() local file = io.open(modEUrn.urlTabela, "w") if file then - file:write(minetest.serialize(modEUrn.handler)) + local handler = minetest.serialize(modEUrn.handler) + if modEUrn.save_compressed then + handler = minetest.encode_base64(handler) + end + file:write(handler) file:close() minetest.log('action',"[E-URN] "..modEUrn.translate("Database saved in file '%s'!"):format(modEUrn.urlTabela)) else @@ -94,7 +99,11 @@ end modEUrn.doLoad = function() local file = io.open(modEUrn.urlTabela, "r") if file then - local handler = minetest.deserialize(file:read("*all")) + local handler = file:read("*all") + if modEUrn.save_compressed then + handler = minetest.decode_base64(handler) + end + handler = minetest.deserialize(handler) --transforma string to table file:close() if not handler or type(handler) ~= "table" then minetest.log('error',"[E-URN:ERRO] "..modEUrn.translate("The file '%s' is not in table format!"):format(modEUrn.urlTabela))