From e33999a870495bb70daa4b9f58834938f2c987dc Mon Sep 17 00:00:00 2001 From: benoitc Date: Fri, 22 Oct 2010 07:11:32 +0200 Subject: [PATCH] reuse the code. --- gunicorn/app/pasterapp.py | 81 +++++++++++++++------------------------ 1 file changed, 31 insertions(+), 50 deletions(-) diff --git a/gunicorn/app/pasterapp.py b/gunicorn/app/pasterapp.py index a20c6637..f20bacb1 100644 --- a/gunicorn/app/pasterapp.py +++ b/gunicorn/app/pasterapp.py @@ -17,6 +17,33 @@ from gunicorn.config import Config class PasterBaseApplication(Application): + def app_config(self): + cx = loadwsgi.loadcontext(SERVER, self.cfgurl, relative_to=self.relpath) + gc, lc = cx.global_conf.copy(), cx.local_conf.copy() + cfg = {} + + host, port = lc.pop('host', ''), lc.pop('port', '') + if host and port: + cfg['bind'] = '%s:%s' % (host, port) + elif host: + cfg['bind'] = host + + cfg['workers'] = int(lc.get('workers', 1)) + cfg['umask'] = int(lc.get('umask', 0)) + cfg['default_proc_name'] = gc.get('__file__') + + for k, v in gc.items(): + if k not in self.cfg.settings: + continue + cfg[k] = v + + for k, v in lc.items(): + if k not in self.cfg.settings: + continue + cfg[k] = v + + return cfg + def configure_logging(self): if hasattr(self, "cfgfname"): self.logger = logging.getLogger('gunicorn') @@ -57,32 +84,7 @@ class PasterApplication(PasterBaseApplication): return self.app_config() - def app_config(self): - cx = loadwsgi.loadcontext(SERVER, self.cfgurl, relative_to=self.relpath) - gc, lc = cx.global_conf.copy(), cx.local_conf.copy() - cfg = {} - - host, port = lc.pop('host', ''), lc.pop('port', '') - if host and port: - cfg['bind'] = '%s:%s' % (host, port) - elif host: - cfg['bind'] = host - - cfg['workers'] = int(lc.get('workers', 1)) - cfg['umask'] = int(lc.get('umask', 0)) - cfg['default_proc_name'] = gc.get('__file__') - - for k, v in gc.items(): - if k not in self.cfg.settings: - continue - cfg[k] = v - - for k, v in lc.items(): - if k not in self.cfg.settings: - continue - cfg[k] = v - - return cfg + def load(self): return loadapp(self.cfgurl, relative_to=self.relpath) @@ -121,31 +123,10 @@ class PasterServerApplication(PasterBaseApplication): self.configure_logging() def load_config(self): - cx = loadwsgi.loadcontext(SERVER, self.cfgurl, relative_to=self.relpath) - gc, lc = cx.global_conf.copy(), cx.local_conf.copy() - cfg = {} + if not hasattr(self, "cfgfname"): + return - host, port = lc.pop('host', ''), lc.pop('port', '') - if host and port: - cfg['bind'] = '%s:%s' % (host, port) - elif host: - cfg['bind'] = host - - cfg['workers'] = int(lc.get('workers', 1)) - cfg['umask'] = int(lc.get('umask', 0)) - cfg['default_proc_name'] = gc.get('__file__') - - for k, v in gc.items(): - if k not in self.cfg.settings: - continue - cfg[k] = v - - for k, v in lc.items(): - if k not in self.cfg.settings: - continue - - cfg[k] = v - + cfg = self.app_config() for k,v in cfg.items(): try: self.cfg.set(k.lower(), v)