Voilà, ma fonction calcul de checksum des fichiers fonctionne sur le host ainsi que sur le NodeMCU, cerise: 95% du code est le même, donc facile à maintenir ;-)
This commit is contained in:
@@ -1,8 +1,10 @@
|
||||
-- fonction dir() pour afficher les fichiers dans la flash
|
||||
print("\n dir2.lua zf191123.1402 \n")
|
||||
-- fonction dir() pour calculer le checksum de tous les fichiers sur le NodeMCU !
|
||||
-- fonction dirfile(fichier) pour calculer le checksum d'un seul fichiers sur le NodeMCU !
|
||||
|
||||
print("\n dir2.lua zf191123.1410 \n")
|
||||
|
||||
function calc_chksum_file(name_file)
|
||||
size_file = 1 chksum_file = 0
|
||||
size_file = 1 chksum_file = 0
|
||||
-- local f = io.open(name_file, "r")
|
||||
local f = file.open(name_file, "r")
|
||||
while true do
|
||||
@@ -24,6 +26,7 @@ end
|
||||
function dir()
|
||||
local zdir={}
|
||||
-- local pfile = io.popen("ls -1r ")
|
||||
-- for k in pfile:lines() do
|
||||
local pfile = file.list()
|
||||
for k,v in pairs(pfile) do
|
||||
calc_chksum_file(k)
|
||||
@@ -31,7 +34,7 @@ function dir()
|
||||
zdir[#zdir+1]=k..string.rep(" ",24-string.len(k)).." : "..size_file..", "..chksum_file
|
||||
end
|
||||
end
|
||||
-- pfile:close()
|
||||
-- pfile:close()
|
||||
table.sort(zdir)
|
||||
for i=1, #zdir do
|
||||
print(zdir[i])
|
||||
@@ -49,5 +52,3 @@ 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
|
||||
]]
|
||||
|
||||
|
||||
|
||||
@@ -1,26 +1,39 @@
|
||||
#!/usr/local/bin/lua5.1
|
||||
-- script lua à faire tourner sur le host pour calculer les checksum de tous les fichiers
|
||||
-- script lua à faire tourner sur le host pour calculer le checksum de tous les fichiers
|
||||
-- du dossier en cours, donc PAS sur le NodeMCU !
|
||||
-- source: https://stackoverflow.com/questions/5303174/how-to-get-list-of-directories-in-lua (30%)
|
||||
|
||||
print("\n zz_host_dir2.lua zf191123.1318 \n")
|
||||
print("\n zz_host_dir2.lua zf191123.1406 \n")
|
||||
|
||||
function calc_chksum_file(name_file)
|
||||
size_file = 1 chksum_file = 0 local f = io.open(name_file, "r")
|
||||
size_file = 1 chksum_file = 0
|
||||
local f = io.open(name_file, "r")
|
||||
-- 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(name_file)
|
||||
end
|
||||
|
||||
function scandir(directory)
|
||||
local zdir={} local pfile = io.popen("ls -1r "..directory)
|
||||
for name_file in pfile:lines() do
|
||||
calc_chksum_file(name_file)
|
||||
function dirfile(k)
|
||||
calc_chksum_file(k)
|
||||
print(k..string.rep(" ",24-string.len(k)).." : "..size_file..", "..chksum_file)
|
||||
size_file=nil chksum_file=nil k=nil
|
||||
end
|
||||
|
||||
function dir()
|
||||
local zdir={}
|
||||
local pfile = io.popen("ls -1r ")
|
||||
for k in pfile:lines() do
|
||||
-- local pfile = file.list()
|
||||
-- for k,v in pairs(pfile) do
|
||||
calc_chksum_file(k)
|
||||
if (size_file ~= 1) and (chksum_file ~= 1) then
|
||||
zdir[#zdir+1]=name_file..string.rep(" ",24-string.len(name_file)).." : "..size_file..", "..chksum_file
|
||||
zdir[#zdir+1]=k..string.rep(" ",24-string.len(k)).." : "..size_file..", "..chksum_file
|
||||
end
|
||||
end
|
||||
pfile:close()
|
||||
@@ -28,6 +41,16 @@ function scandir(directory)
|
||||
for i=1, #zdir do
|
||||
print(zdir[i])
|
||||
end
|
||||
size_file=nil chksum_file=nil k=nil
|
||||
end
|
||||
|
||||
scandir("./")
|
||||
dir()
|
||||
|
||||
--[[
|
||||
dir()
|
||||
dirfile("dir2.lua")
|
||||
|
||||
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
|
||||
]]
|
||||
|
||||
Reference in New Issue
Block a user