Actualiser init.lua
This commit is contained in:
parent
17fcecc54d
commit
dd089f2c81
125
init.lua
125
init.lua
@ -10,6 +10,71 @@ local events = {}
|
||||
local events_backup = {}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
-- Fonction pour vérifier si la base de données n'est pas corrompue
|
||||
function blockwatch.check_database_integrity()
|
||||
local json_file, err = io.open(events_json_file_path, "r")
|
||||
if not json_file then
|
||||
return false, "[blockwatch] Erreur d'ouverture du fichier: " .. (err or "inconnue")
|
||||
end
|
||||
|
||||
local content = json_file:read("*all")
|
||||
json_file:close()
|
||||
|
||||
if not content or content == "" then
|
||||
--apelle la fonction pour sauvegarder et vidée la base de données
|
||||
blockwatch.recovery_data()
|
||||
return false, "[blockwatch] Le fichier de la base de données est vide ou non lisible. la base de données est corrompuee et va etre sauvegardée et vidée."
|
||||
end
|
||||
|
||||
local success, data = pcall(minetest.deserialize, content)
|
||||
if not success then
|
||||
--apelle la fonction pour sauvegarder et vidée la base de données
|
||||
blockwatch.recovery_data()
|
||||
return false, "[blockwatch] Erreur de désérialisation du contenu de la base de données. la base de données est corrompuee et va etre sauvegardée et vidée."
|
||||
end
|
||||
|
||||
if type(data) ~= "table" then
|
||||
--apelle la fonction pour sauvegarder et vidée la base de données
|
||||
blockwatch.recovery_data()
|
||||
return false, "[blockwatch] Le contenu désérialisé de la base de données n'est pas du type attendu. la base de données est corrompuee et va etre sauvegardée et vidée."
|
||||
end
|
||||
|
||||
return true, "[blockwatch] La base de données est intègre."
|
||||
end
|
||||
|
||||
-- Commande pour vérifier l'intégrité de la base de données
|
||||
minetest.register_chatcommand("blockwatch_check_db", {
|
||||
privs = {blockwatch_perm},
|
||||
description = S("Vérifie si la base de données n'est pas corrompue."),
|
||||
func = function(name, param)
|
||||
local success, message = blockwatch.check_database_integrity()
|
||||
return success, message
|
||||
end,
|
||||
})
|
||||
|
||||
|
||||
|
||||
-- au demarage de minetest vérifie si la base de données est corrompue
|
||||
minetest.register_on_mods_loaded(function()
|
||||
local success, message = blockwatch.check_database_integrity()
|
||||
--si la base a ete corrompue alors envoie un message dans les logs
|
||||
if not success then
|
||||
minetest.log("error", message)
|
||||
else
|
||||
minetest.log("action", message)
|
||||
blockwatch.load_events_database()
|
||||
end
|
||||
minetest.log("action", message)
|
||||
end)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
--fonction pour supprimer les bases de données actuelles et la met dans blockwatch_recovery_data.json
|
||||
function blockwatch.recovery_data()
|
||||
-- renome le fichier de la base de donner en blockwatch_recovery_data.json
|
||||
@ -294,10 +359,6 @@ minetest.register_chatcommand("reload_events", {
|
||||
end,
|
||||
})
|
||||
|
||||
-- Enregistrez la fonction de chargement de la base de données au démarrage
|
||||
minetest.register_on_mods_loaded(function()
|
||||
blockwatch.load_events_database()
|
||||
end)
|
||||
|
||||
|
||||
-- commande pour rechercher les event en fonction des filtre choisi
|
||||
@ -623,59 +684,3 @@ minetest.register_craftitem("blockwatch:block_data_checker_backup", {
|
||||
inventory_image = "blockwatch_backup.png",
|
||||
on_use = check_block_data_item_backup,
|
||||
})
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user