36 lines
No EOL
709 B
Lua
36 lines
No EOL
709 B
Lua
function parse(string)
|
|
if (string == nil) then
|
|
return nil
|
|
end
|
|
if (type(string) == "number") then
|
|
return string
|
|
end
|
|
|
|
if (string == "yes" or string == "true") then
|
|
return 1
|
|
end
|
|
|
|
if (string == "no" or string == "false") then
|
|
return 0
|
|
end
|
|
|
|
if (type(string) == "boolean") then
|
|
if (string) then
|
|
return 1
|
|
else
|
|
return 0
|
|
end
|
|
end
|
|
|
|
if(string:match("%d+:%d+")) then
|
|
-- duration in minute
|
|
local duration = 0
|
|
for part in string:gmatch "%d+" do
|
|
duration = duration * 60 + tonumber(part)
|
|
end
|
|
return duration
|
|
end
|
|
|
|
|
|
return tonumber(string)
|
|
end |