From aa9ccf77c6648515ba58c37b9345cdbd561028db Mon Sep 17 00:00:00 2001 From: Steven Barth Date: Thu, 8 May 2008 15:37:41 +0000 Subject: * Mördercommit ;-) * Major Repository Reorganisation * API 0.4 Softfreeze to come MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/src/fs.lua | 94 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 core/src/fs.lua (limited to 'core/src/fs.lua') diff --git a/core/src/fs.lua b/core/src/fs.lua new file mode 100644 index 0000000000..0ca191be94 --- /dev/null +++ b/core/src/fs.lua @@ -0,0 +1,94 @@ +--[[ +FFLuCI - Filesystem tools + +Description: +A module offering often needed filesystem manipulation functions + +FileId: +$Id$ + +License: +Copyright 2008 Steven Barth + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +]]-- + +module("ffluci.fs", package.seeall) + +require("posix") + +-- Glob +function glob(pattern) + return posix.glob(pattern) +end + +-- Checks whether a file exists +function isfile(filename) + local fp = io.open(filename, "r") + if fp then fp:close() end + return fp ~= nil +end + +-- Returns the content of file +function readfile(filename) + local fp, err = io.open(filename) + + if fp == nil then + return nil, err + end + + local data = fp:read("*a") + fp:close() + return data +end + +-- Writes given data to a file +function writefile(filename, data) + local fp, err = io.open(filename, "w") + + if fp == nil then + return nil, err + end + + fp:write(data) + fp:close() + + return true +end + +-- Returns the file modification date/time of "path" +function mtime(path) + return posix.stat(path, "mtime") +end + +-- basename wrapper +basename = posix.basename + +-- dirname wrapper +dirname = posix.dirname + +-- dir wrapper +function dir(path) + local dir = {} + for node in posix.files(path) do + table.insert(dir, 1, node) + end + return dir +end + +-- Alias for posix.mkdir +mkdir = posix.mkdir + +-- Alias for posix.rmdir +rmdir = posix.rmdir \ No newline at end of file -- cgit v1.2.3