From: Steven Barth Date: Mon, 1 Sep 2008 19:42:43 +0000 (+0000) Subject: Added luci.fs.copy and luci.fs.rename X-Git-Tag: 0.8.0~211 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=76f2e5ec1a5fb8ab6c6c575434cb873e5db5d7cb;p=oweals%2Fluci.git Added luci.fs.copy and luci.fs.rename --- diff --git a/libs/core/luasrc/fs.lua b/libs/core/luasrc/fs.lua index 56108db95..ea346ee59 100644 --- a/libs/core/luasrc/fs.lua +++ b/libs/core/luasrc/fs.lua @@ -24,8 +24,11 @@ limitations under the License. ]]-- -local posix = require "posix" local io = require "io" +local os = require "os" +local ltn12 = require "ltn12" +local posix = require "posix" + local type = type --- LuCI filesystem library. @@ -91,6 +94,25 @@ function writefile(filename, data) return true end +--- Copies a file. +-- @param source Source file +-- @param dest Destination +-- @return Boolean containing true on success or nil on error +function copy(source, dest) + return ltn12.pump.all( + ltn12.source.file(io.open(source)), + ltn12.sink.file(io.open(dest, "w")) + ) +end + +--- Renames a file. +-- @param source Source file +-- @param dest Destination +-- @return Boolean containing true on success or nil on error +function rename(source, dest) + return os.rename(source, dest) +end + --- Get the last modification time of given file path in Unix epoch format. -- @param path String containing the path of the file or directory to read -- @return Number containing the epoch time or nil on error