91 lines
2.4 KiB
Lua
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
|
|
]]
|