mirror of
https://github.com/frappe/gunicorn.git
synced 2026-01-14 11:09:11 +08:00
[gunicorn] added ``gunicorn.conf.py`` as default in case of no -c is specified
This commit is contained in:
parent
54b4ffb68e
commit
cf6e765323
@ -14,7 +14,8 @@ config
|
||||
~~~~~~
|
||||
|
||||
* ``-c FILE, --config FILE``
|
||||
* ``None``
|
||||
* ``gunicorn.conf.py`` if the file exists on the current directory otherwise
|
||||
``None`` is used.
|
||||
|
||||
The path to a Gunicorn config file.
|
||||
|
||||
|
||||
@ -9,7 +9,7 @@ import traceback
|
||||
|
||||
from gunicorn import util
|
||||
from gunicorn.arbiter import Arbiter
|
||||
from gunicorn.config import Config
|
||||
from gunicorn.config import Config, get_default_config_file
|
||||
from gunicorn import debug
|
||||
from gunicorn.six import execfile_
|
||||
|
||||
@ -36,6 +36,37 @@ class Application(object):
|
||||
sys.stderr.flush()
|
||||
sys.exit(1)
|
||||
|
||||
def load_config_from_file(self, filename):
|
||||
|
||||
if not os.path.exists(filename):
|
||||
raise RuntimeError("%r doesn't exist" % filename)
|
||||
|
||||
cfg = {
|
||||
"__builtins__": __builtins__,
|
||||
"__name__": "__config__",
|
||||
"__file__": filename,
|
||||
"__doc__": None,
|
||||
"__package__": None
|
||||
}
|
||||
try:
|
||||
execfile_(filename, cfg, cfg)
|
||||
except Exception:
|
||||
print("Failed to read config file: %s" % filename)
|
||||
traceback.print_exc()
|
||||
sys.exit(1)
|
||||
|
||||
for k, v in cfg.items():
|
||||
# Ignore unknown names
|
||||
if k not in self.cfg.settings:
|
||||
continue
|
||||
try:
|
||||
self.cfg.set(k.lower(), v)
|
||||
except:
|
||||
sys.stderr.write("Invalid value for %s: %s\n\n" % (k, v))
|
||||
raise
|
||||
|
||||
return cfg
|
||||
|
||||
def load_config(self):
|
||||
# init configuration
|
||||
self.cfg = Config(self.usage, prog=self.prog)
|
||||
@ -52,6 +83,13 @@ class Application(object):
|
||||
for k, v in cfg.items():
|
||||
self.cfg.set(k.lower(), v)
|
||||
|
||||
default_config = get_default_config_file()
|
||||
|
||||
if args.config:
|
||||
self.load_config_from_file(args.config)
|
||||
elif default_config is not None:
|
||||
self.load_config_from_file(default_config)
|
||||
|
||||
# Lastly, update the configuration with any command line
|
||||
# settings.
|
||||
for k, v in args.__dict__.items():
|
||||
@ -61,36 +99,6 @@ class Application(object):
|
||||
continue
|
||||
self.cfg.set(k.lower(), v)
|
||||
|
||||
# Load up the config file if its found.
|
||||
if args.config:
|
||||
if not os.path.exists(args.config):
|
||||
raise RuntimeError("%r doesn't exist" % args.config)
|
||||
|
||||
cfg = {
|
||||
"__builtins__": __builtins__,
|
||||
"__name__": "__config__",
|
||||
"__file__": args.config,
|
||||
"__doc__": None,
|
||||
"__package__": None
|
||||
}
|
||||
try:
|
||||
execfile_(args.config, cfg, cfg)
|
||||
except Exception:
|
||||
print("Failed to read config file: %s" % args.config)
|
||||
traceback.print_exc()
|
||||
sys.exit(1)
|
||||
|
||||
for k, v in cfg.items():
|
||||
# Ignore unknown names
|
||||
if k not in self.cfg.settings:
|
||||
continue
|
||||
try:
|
||||
self.cfg.set(k.lower(), v)
|
||||
except:
|
||||
sys.stderr.write("Invalid value for %s: %s\n\n" % (k, v))
|
||||
raise
|
||||
|
||||
|
||||
def init(self, parser, opts, args):
|
||||
raise NotImplementedError
|
||||
|
||||
|
||||
@ -199,7 +199,7 @@ class Setting(object):
|
||||
"dest": self.name,
|
||||
"action": self.action or "store",
|
||||
"type": self.type or str,
|
||||
"default": self.default or None,
|
||||
"default": None,
|
||||
"help": help_txt
|
||||
}
|
||||
|
||||
@ -380,7 +380,7 @@ class ConfigFile(Setting):
|
||||
cli = ["-c", "--config"]
|
||||
meta = "FILE"
|
||||
validator = validate_string
|
||||
default = get_default_config_file()
|
||||
default = None
|
||||
desc = """\
|
||||
The path to a Gunicorn config file.
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user