update API and path checking logic
This commit is contained in:
parent
d96135fb6a
commit
0af7680f8e
23
API.md
23
API.md
@ -25,43 +25,48 @@ Checks the file specified through `path` returning true if it exists, and false
|
|||||||
### mkdir
|
### mkdir
|
||||||
**Usage:** `datalib.mkdir(path)`
|
**Usage:** `datalib.mkdir(path)`
|
||||||
|
|
||||||
Make a directory at the specified `path`.
|
Make a directory at the specified `path`. Returns `true` if directory already exists.
|
||||||
|
|
||||||
### rmdir
|
### rmdir
|
||||||
**Usage:** `datalib.rmdir(path)`
|
**Usage:** `datalib.rmdir(path)`
|
||||||
|
|
||||||
Recursively delete all contents of a directory (files, sub-directories, etc...)
|
Recursively delete all contents of a directory (files, sub-directories, etc...). Returns `false` if directory does not exist.
|
||||||
|
|
||||||
### create
|
### create
|
||||||
**Usage:** `datalib.create(path)`
|
**Usage:** `datalib.create(path)`
|
||||||
|
|
||||||
Create file in location specified by `path`. Returns true if already exists, nothing if creation is successful, also printing like output to the log.
|
Create file in location specified by `path`. Returns `true` if already exists, nothing if creation is successful.
|
||||||
|
|
||||||
### write
|
### write
|
||||||
**Usage:** `datalib.write(path, data, serialize)`
|
**Usage:** `datalib.write(path, data, serialize)`
|
||||||
|
|
||||||
Write data to file. File path is specified in `path`. Data to write is specified with field `data` and supports any value including strings, booleans, and integers. The `serialize` option tells datalib whether or not to run `minetest.serialize` on the data before writing, and is by default set to `true` if left blank.
|
Write data to file. File path is specified in `path`. Data to write is specified with field `data` and supports any value including strings, booleans, and integers. The `serialize` option tells datalib whether or not to run `minetest.serialize` on the data before writing, and is by default set to `false` if left blank.
|
||||||
|
|
||||||
|
### append
|
||||||
|
**Usage:** `datalib.append(path, data, serialize)`
|
||||||
|
|
||||||
|
Append data to file. File path is specified in `path`. Data to append is specified with field `data` and supports any value including strings, booleans, and integers. The `serialize` option tells datalib whether or not to run `minetest.serialize` on the data before writing, and is by default set to `false` if left blank.
|
||||||
|
|
||||||
### read
|
### read
|
||||||
**Usage:** `datalib.read(path, deserialize)`
|
**Usage:** `datalib.read(path, deserialize)`
|
||||||
|
|
||||||
Load data from file (`path`) and return through variable `data`. The `deserialize` option tells datalib whether or not to run `minetest.deserialize` on the data before returning, and is by default set to `true` if left blank.
|
Load data from file (`path`) and return through variable `data`. The `deserialize` option tells datalib whether or not to run `minetest.deserialize` on the data before returning, and is by default set to `true` if left blank. Returns `false` if file does not exist.
|
||||||
|
|
||||||
### copy
|
### copy
|
||||||
**Usage:** `datalib.copy(path, new)`
|
**Usage:** `datalib.copy(path, new)`
|
||||||
**Shortcut:** `datalib.cp(path, new)`
|
**Shortcut:** `datalib.cp(path, new)`
|
||||||
|
|
||||||
Copy the contents of a file to another file. `path` indicates the location of the original, while `new` indicates the path where the copy will be placed.
|
Copy the contents of a file to another file. `path` indicates the location of the original, while `new` indicates the path where the copy will be placed. Returns false if file specified by `path` does not exist.
|
||||||
|
|
||||||
### table.write
|
### table.write
|
||||||
**Usage:** `datalib.table.write(path, table)`
|
**Usage:** `datalib.table.write(path, table)`
|
||||||
|
|
||||||
Write table to file. File path is specified in `path`. Table to write is specified with field `table` and is designed for use with tables. The only difference between `write_table` and `write_file` is that `write_table` always serializes the data with `minetest.serialize` before writing because tables cannot be directly written to files, however, they must first be converted to strings through serialization.
|
Write table to file. File path is specified in `path`. Table to write is specified with field `table` and is designed for use with tables. The only difference between `write_table` and `write_file` is that `write_table` always serializes the data with `minetest.serialize` before writing because tables cannot be directly written to files, however, they must first be converted to strings through serialization.
|
||||||
|
|
||||||
### table.load
|
### table.read
|
||||||
**Usage:** `datalib.table.load(path)`
|
**Usage:** `datalib.table.read(path)`
|
||||||
|
|
||||||
Load table from file (`path`) and return through variable `table`. The only difference between `load_table` and `load_file` is that `load_table` always deserializes the data with `minetest.deserialize` to convert previously written string back to a table.
|
Load table from file (`path`) and return through variable `table`. The only difference between `load_table` and `load_file` is that `load_table` always deserializes the data with `minetest.deserialize` to convert previously written string back to a table. Returns `false` if file specified by `path` does not exist.
|
||||||
|
|
||||||
### dofile
|
### dofile
|
||||||
**Usage:** `datalib.dofile(path)`
|
**Usage:** `datalib.dofile(path)`
|
||||||
|
11
init.lua
11
init.lua
@ -54,12 +54,16 @@ function datalib.mkdir(path)
|
|||||||
os.execute('mkdir "'..path..'"') -- create directory with os mkdir command
|
os.execute('mkdir "'..path..'"') -- create directory with os mkdir command
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
else
|
||||||
end
|
end
|
||||||
f:close() -- close file
|
f:close() -- close file
|
||||||
|
return true
|
||||||
end
|
end
|
||||||
|
|
||||||
-- remove directory
|
-- remove directory
|
||||||
function datalib.rmdir(path)
|
function datalib.rmdir(path, log)
|
||||||
|
if not io.open(path) then return false end -- file doesn't exist
|
||||||
|
|
||||||
-- [local function] remove files
|
-- [local function] remove files
|
||||||
local function rm_files(ppath, files)
|
local function rm_files(ppath, files)
|
||||||
for _, f in ipairs(files) do
|
for _, f in ipairs(files) do
|
||||||
@ -98,7 +102,6 @@ end
|
|||||||
|
|
||||||
-- write to file
|
-- write to file
|
||||||
function datalib.write(path, data, serialize, log)
|
function datalib.write(path, data, serialize, log)
|
||||||
if datalib.exists(path) ~= true then return false end -- check if exists
|
|
||||||
if not serialize then local serialize = false end -- if blank serialize = true
|
if not serialize then local serialize = false end -- if blank serialize = true
|
||||||
local f = io.open(path, "w") -- open file for writing
|
local f = io.open(path, "w") -- open file for writing
|
||||||
if serialize == true then local data = minetest.serialize(data) end -- serialize data
|
if serialize == true then local data = minetest.serialize(data) end -- serialize data
|
||||||
@ -109,7 +112,6 @@ end
|
|||||||
|
|
||||||
-- append to file
|
-- append to file
|
||||||
function datalib.append(path, data, serialize, log)
|
function datalib.append(path, data, serialize, log)
|
||||||
if datalib.exists(path) ~= true then return false end -- check if exists
|
|
||||||
if not serialize then local serialize = false end -- if blank serialize = true
|
if not serialize then local serialize = false end -- if blank serialize = true
|
||||||
local f = io.open(path, "a") -- open file for writing
|
local f = io.open(path, "a") -- open file for writing
|
||||||
if serialize == true then local data = minetest.serialize(data) end -- serialize data
|
if serialize == true then local data = minetest.serialize(data) end -- serialize data
|
||||||
@ -131,7 +133,7 @@ end
|
|||||||
function datalib.copy(path, new, log)
|
function datalib.copy(path, new, log)
|
||||||
if not datalib.exists(path) then
|
if not datalib.exists(path) then
|
||||||
datalib.log(path.." does not exist. Cannot copy file.")
|
datalib.log(path.." does not exist. Cannot copy file.")
|
||||||
return path.." does not exist."
|
return false
|
||||||
end -- check if path exists
|
end -- check if path exists
|
||||||
local old = datalib.read(path, false) -- read
|
local old = datalib.read(path, false) -- read
|
||||||
datalib.create(new, false) -- create new
|
datalib.create(new, false) -- create new
|
||||||
@ -143,7 +145,6 @@ end
|
|||||||
|
|
||||||
-- write table to file
|
-- write table to file
|
||||||
function datalib.table.write(path, intable, log)
|
function datalib.table.write(path, intable, log)
|
||||||
if datalib.exists(path) ~= true then return false end -- check if exists
|
|
||||||
local intable = minetest.serialize(intable) -- serialize intable
|
local intable = minetest.serialize(intable) -- serialize intable
|
||||||
local f = io.open(path, "w") -- open file for writing
|
local f = io.open(path, "w") -- open file for writing
|
||||||
f:write(intable) -- write intable
|
f:write(intable) -- write intable
|
||||||
|
Loading…
x
Reference in New Issue
Block a user