Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function parse_custom_data(str)
- local t={}
- if str then
- for section, section_data in string.gfind(str,"%s*%[([^%]]*)%]%s*([^%[%z]*)%s*") do
- section = trim(section)
- t[section]={}
- for line in string.gfind(trim(section_data), "([^\n]*)\n*") do
- if string.find(line,"=")~=nil then
- for k, v in string.gfind(line, "([^=]-)%s*=%s*(.*)") do
- k = trim(k)
- if k~=nil and k~='' and v~=nil then
- t[section][k]=trim(v)
- end
- end
- else
- for k, v in string.gfind(line, "(.*)") do
- k = trim(k)
- if k~=nil and k~='' then
- t[section][k]="<<no_value>>"
- end
- end
- end
- end
- end
- end
- return t
- end
- function gen_custom_data(tbl)
- local str=''
- for key, value in pairs(tbl) do
- str = str.."["..key.."]\n"
- for k, v in pairs(value) do
- if v~="<<no_value>>" then
- str=str..k.." = "..v.."\n"
- else
- str=str..k.."\n"
- end
- end
- end
- return str
- end
- function trim (s)
- return (string.gsub(s, "^%s*(.-)%s*$", "%1"))
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement