Software /
code /
prosody
Comparison
core/configmanager.lua @ 6718:be98ebe87eef
configmanager: Refactor function to avoid re-declaring local variable [luacheck]
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Mon, 18 May 2015 19:07:31 +0100 |
parent | 6717:4fecfc81dac1 |
child | 6779:6236668da30a |
comparison
equal
deleted
inserted
replaced
6717:4fecfc81dac1 | 6718:be98ebe87eef |
---|---|
181 end | 181 end |
182 end | 182 end |
183 env.component = env.Component; | 183 env.component = env.Component; |
184 | 184 |
185 function env.Include(file) | 185 function env.Include(file) |
186 -- Check whether this is a wildcard Include | |
186 if file:match("[*?]") then | 187 if file:match("[*?]") then |
187 local lfs = deps.softreq "lfs"; | 188 local lfs = deps.softreq "lfs"; |
188 if not lfs then | 189 if not lfs then |
189 error(format("Error expanding wildcard pattern in Include %q - LuaFileSystem not available", file)); | 190 error(format("Error expanding wildcard pattern in Include %q - LuaFileSystem not available", file)); |
190 end | 191 end |
200 for f in lfs.dir(path) do | 201 for f in lfs.dir(path) do |
201 if f:sub(1,1) ~= "." and f:match(patt) then | 202 if f:sub(1,1) ~= "." and f:match(patt) then |
202 env.Include(path..path_sep..f); | 203 env.Include(path..path_sep..f); |
203 end | 204 end |
204 end | 205 end |
205 else | 206 return; |
206 local file = resolve_relative_path(config_file:gsub("[^"..path_sep.."]+$", ""), file); | 207 end |
207 local f, err = io.open(file); | 208 -- Not a wildcard, so resolve (potentially) relative path and run through config parser |
208 if f then | 209 file = resolve_relative_path(config_file:gsub("[^"..path_sep.."]+$", ""), file); |
209 local ret, err = parsers.lua.load(f:read("*a"), file, config); | 210 local f, err = io.open(file); |
210 if not ret then error(err:gsub("%[string.-%]", file), 0); end | 211 if f then |
211 end | 212 local ret, err = parsers.lua.load(f:read("*a"), file, config_table); |
212 if not f then error("Error loading included "..file..": "..err, 0); end | 213 if not ret then error(err:gsub("%[string.-%]", file), 0); end |
213 return f, err; | 214 end |
214 end | 215 if not f then error("Error loading included "..file..": "..err, 0); end |
216 return f, err; | |
215 end | 217 end |
216 env.include = env.Include; | 218 env.include = env.Include; |
217 | 219 |
218 function env.RunScript(file) | 220 function env.RunScript(file) |
219 return dofile(resolve_relative_path(config_file:gsub("[^"..path_sep.."]+$", ""), file)); | 221 return dofile(resolve_relative_path(config_file:gsub("[^"..path_sep.."]+$", ""), file)); |