Software /
code /
prosody
Comparison
prosodyctl @ 3859:f3216c4a34e8
prosodyctl: Added support for --config command line argument, and multiple config parsers (to match the main prosody executable).
author | Waqas Hussain <waqas20@gmail.com> |
---|---|
date | Sun, 12 Dec 2010 17:10:24 +0500 |
parent | 3846:763df64fdd9d |
child | 3741:f7dd583d99b4 |
comparison
equal
deleted
inserted
replaced
3858:b76ac6c3a037 | 3859:f3216c4a34e8 |
---|---|
38 local prosody = prosody; | 38 local prosody = prosody; |
39 | 39 |
40 config = require "core.configmanager" | 40 config = require "core.configmanager" |
41 | 41 |
42 do | 42 do |
43 -- TODO: Check for other formats when we add support for them | 43 local filenames = {}; |
44 -- Use lfs? Make a new conf/ dir? | 44 |
45 local ok, level, err = config.load((CFG_CONFIGDIR or ".").."/prosody.cfg.lua"); | 45 local filename; |
46 if arg[1] == "--config" and arg[2] then | |
47 table.insert(filenames, arg[2]); | |
48 table.remove(arg, 1); table.remove(arg, 1); | |
49 if CFG_CONFIGDIR then | |
50 table.insert(filenames, CFG_CONFIGDIR.."/"..arg[2]); | |
51 end | |
52 else | |
53 for _, format in ipairs(config.parsers()) do | |
54 table.insert(filenames, (CFG_CONFIGDIR or ".").."/prosody.cfg."..format); | |
55 end | |
56 end | |
57 for _,_filename in ipairs(filenames) do | |
58 filename = _filename; | |
59 local file = io.open(filename); | |
60 if file then | |
61 file:close(); | |
62 CFG_CONFIGDIR = filename:match("^(.*)[\\/][^\\/]*$"); | |
63 break; | |
64 end | |
65 end | |
66 local ok, level, err = config.load(filename); | |
46 if not ok then | 67 if not ok then |
47 print("\n"); | 68 print("\n"); |
48 print("**************************"); | 69 print("**************************"); |
49 if level == "parser" then | 70 if level == "parser" then |
50 print("A problem occured while reading the config file "..(CFG_CONFIGDIR or ".").."/prosody.cfg.lua"); | 71 print("A problem occured while reading the config file "..(CFG_CONFIGDIR or ".").."/prosody.cfg.lua"); |