Added luci.fs.copy and luci.fs.rename
authorSteven Barth <steven@midlink.org>
Mon, 1 Sep 2008 19:42:43 +0000 (19:42 +0000)
committerSteven Barth <steven@midlink.org>
Mon, 1 Sep 2008 19:42:43 +0000 (19:42 +0000)
libs/core/luasrc/fs.lua

index 56108db..ea346ee 100644 (file)
@@ -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