From ef25e34bac3a62c6570f49f1b8db1fb63c5a9659 Mon Sep 17 00:00:00 2001 From: Mika Havela Date: Tue, 15 Jan 2008 15:56:36 +0000 Subject: Added function that does almost the same as posix.stat, but instead writes human readable. git-svn-id: svn://svn.alpinelinux.org/acf/core/trunk@577 ab2d0c66-481e-0410-8bed-d214d4d58bed --- lib/fs.lua | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'lib/fs.lua') diff --git a/lib/fs.lua b/lib/fs.lua index e7643df..2dec07c 100644 --- a/lib/fs.lua +++ b/lib/fs.lua @@ -118,3 +118,20 @@ function find ( what, where ) end end +-- This function does almost the same as posix.stat, but instead it writes the output human readable. +function stat ( path ) + local filedetails = posix.stat(path) + filedetails["ctime"]=os.date("%c", filedetails["ctime"]) + filedetails["mtime"]=os.date("%c", filedetails["mtime"]) + filedetails["path"]=path + if ( filedetails["size"] > 1073741824 ) then + filedetails["size"]=((filedetails["size"]/1073741824) - (filedetails["size"]/1073741824%0.1)) .. "G" + elseif ( filedetails["size"] > 1048576 ) then + filedetails["size"]=((filedetails["size"]/1048576) - (filedetails["size"]/1048576%0.1)) .. "M" + elseif ( filedetails["size"] > 1024 ) then + filedetails["size"]=((filedetails["size"]/1024) - (filedetails["size"]/1024%0.1)) .. "k" + else + filedetails["size"]=filedetails["size"] + end + return filedetails +end -- cgit v1.2.3