86 lines
1.7 KiB
Lua
86 lines
1.7 KiB
Lua
|
math.randomseed(os.time())
|
||
|
env = {}
|
||
|
|
||
|
function env.loop()
|
||
|
local command = env.stringSplit(io.read()," ",3,"\\")
|
||
|
env.run(command)
|
||
|
print("")
|
||
|
end
|
||
|
|
||
|
function env.run(command)
|
||
|
local func = loadfile(basepath .. "/cmd/" ..command[1].. ".lua")
|
||
|
func = func()
|
||
|
env.rtn = func(command)
|
||
|
return env.rtn
|
||
|
end
|
||
|
|
||
|
function env.xmlFindTags(xml,tag)
|
||
|
local rtn = {}
|
||
|
for i,v in ipairs(xml["children"]) do
|
||
|
if v.tag == tag then
|
||
|
table.insert(rtn,v)
|
||
|
end
|
||
|
end
|
||
|
return rtn
|
||
|
end
|
||
|
|
||
|
function env.stringDate(d)
|
||
|
return d.year .. "." ..env.padNumber(d.month,2).. "." ..env.padNumber(d.day,2).. "_" ..env.padNumber(d.hour,2).. ":" ..env.padNumber(d.min,2).. ":" ..env.padNumber(d.sec,2)
|
||
|
end
|
||
|
|
||
|
function env.makeUUID()
|
||
|
local template ='xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'
|
||
|
return string.gsub(template, '[xy]', function (c)
|
||
|
local v = (c == 'x') and math.random(0, 0x0f) or math.random(8, 0x0b)
|
||
|
return string.format('%x', v)
|
||
|
end)
|
||
|
end
|
||
|
|
||
|
function env.stringSplit(str, sep, limit, esc)
|
||
|
local length = string.len(str)
|
||
|
local index = 1
|
||
|
local c
|
||
|
local escaped = false
|
||
|
local entry = ""
|
||
|
local rtn = {}
|
||
|
local rtnLength = 0
|
||
|
|
||
|
while index <= length do
|
||
|
c = string.sub(str,index,index)
|
||
|
if escaped == false then
|
||
|
if esc ~= nil then
|
||
|
if c == esc then
|
||
|
escaped = true
|
||
|
else
|
||
|
if c == sep then
|
||
|
if limit > -1 and rtnLength < limit then
|
||
|
table.insert(rtn,entry)
|
||
|
entry = ""
|
||
|
rtnLength = rtnLength + 1
|
||
|
else
|
||
|
entry = entry .. c
|
||
|
end
|
||
|
else
|
||
|
entry = entry .. c
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
else
|
||
|
entry = entry .. c
|
||
|
end
|
||
|
index = index + 1
|
||
|
end
|
||
|
table.insert(rtn,entry)
|
||
|
return rtn
|
||
|
end
|
||
|
|
||
|
function env.padNumber(nr,len)
|
||
|
nr = tostring(nr)
|
||
|
local curLen = string.len(nr)
|
||
|
while curLen < len do
|
||
|
nr = "0" .. nr
|
||
|
curLen = curLen + 1
|
||
|
end
|
||
|
return nr
|
||
|
end
|