Files
NodeMCU_Lua/Mesures/temp/mario/dir2.lua
2019-12-03 19:40:07 +01:00

91 lines
2.4 KiB
Lua

-- fonction dirc() pour calculer le checksum de tous les fichiers sur le NodeMCU !
-- fonction filec(fichier) pour calculer le checksum d'un seul fichiers sur le NodeMCU !
print("\n dir2.lua zf191124.1602 \n")
function calc_chksum_file()
local name_file = list_files[zcmpt1]
print(name_file)
local size_file = 1 local chksum_file = 0
local f = file.open(name_file, "r")
while true do
local t = f:read(1) if t == nil then break end
chksum_file = chksum_file + size_file * string.byte(t)
size_file = size_file + 1
if size_file%100 == 0 then uart.write(0,".") end
end
f:close() print("")
zdir[#zdir+1]=name_file..string.rep(" ",24-string.len(name_file)).." : "..size_file..", "..chksum_file
zcmpt1 = zcmpt1 + 1
zrepeat()
end
function zrepeat()
if zcmpt1 <= #list_files then
-- if zcmpt1 <= 3 then
node.task.post(calc_chksum_file)
else
table.sort(zdir) for i=1, #zdir do print(zdir[i]) end
zdir=nil list_files=nil zcmpt1=nil
end
end
function dirc()
zdir={} list_files={}
local pfile = file.list()
for k,v in pairs(pfile) do
list_files[#list_files+1]=k
end
zcmpt1 = 1 zrepeat()
end
function filec(name_file)
print(name_file)
local size_file = 1 local chksum_file = 0
local f = file.open(name_file, "r")
while true do
local t = f:read(1) if t == nil then break end
chksum_file = chksum_file + size_file * string.byte(t)
size_file = size_file + 1
if size_file%100 == 0 then uart.write(0,".") end
end
f:close() print("")
print(name_file..string.rep(" ",24-string.len(name_file)).." : "..size_file..", "..chksum_file)
end
function dir()
local zdir={}
local pfile = file.list()
for k,v in pairs(pfile) do
zdir[#zdir+1] = k..string.rep(" ",24-string.len(k)).." : "..v
end
table.sort(zdir) for i=1, #zdir do print(zdir[i]) end
size_file=nil chksum_file=nil k=nil
end
function clear_dir()
dir=nil dir2=nil dirc=nil filec=nil
zrepeat=nil calc_chksum_file=nil
end
dir()
print("\nusage:")
print(" dir()")
print(" dirc()")
print(" filec('dir2.lua')")
--[[
dir()
dirc()
filec("dir2.lua")
=node.heap()
clear_dir()
=node.heap()
for k,v in pairs(_G) do print(k,v) end
status, err = pcall(function () print(zhash("il était une fois trois petits cochons roses...")) end) if status==false then print("Error: ",err) end
]]