# HG changeset patch # User Sylvain Thénault # Date 1272543717 -7200 # Node ID 3ed8afbbdf70c9e8cba91fda513e78d14fcff08b # Parent 2a9181b82806fb7282fc433f60dbf6ae610bf44e [webconfig] refactor/cleanup debug mode management on startup: simply use config.debugmode instead of debug argument everywhere... diff -r 2a9181b82806 -r 3ed8afbbdf70 cwconfig.py --- a/cwconfig.py Thu Apr 29 11:09:03 2010 +0200 +++ b/cwconfig.py Thu Apr 29 14:21:57 2010 +0200 @@ -293,8 +293,6 @@ log_format = '%(asctime)s - (%(name)s) %(levelname)s: %(message)s' # nor remove appobjects based on unused interface cleanup_interface_sobjects = True - # debug mode - debugmode = False if (CWDEV and _forced_mode != 'system'): @@ -660,9 +658,10 @@ vregpath.append(path + '.py') return vregpath - def __init__(self): + def __init__(self, debugmode=False): register_stored_procedures() ConfigurationMixIn.__init__(self) + self.debugmode = debugmode self.adjust_sys_path() self.load_defaults() self.translations = {} @@ -680,16 +679,14 @@ # overriden in CubicWebConfiguration self.cls_adjust_sys_path() - def init_log(self, logthreshold=None, debug=False, - logfile=None, syslog=False): + def init_log(self, logthreshold=None, logfile=None, syslog=False): """init the log service""" if logthreshold is None: - if debug: + if self.debugmode: logthreshold = 'DEBUG' else: logthreshold = self['log-threshold'] - self.debugmode = debug - init_log(debug, syslog, logthreshold, logfile, self.log_format) + init_log(self.debugmode, syslog, logthreshold, logfile, self.log_format) # configure simpleTal logger logging.getLogger('simpleTAL').setLevel(logging.ERROR) @@ -803,12 +800,12 @@ return mdir @classmethod - def config_for(cls, appid, config=None): + def config_for(cls, appid, config=None, debugmode=False): """return a configuration instance for the given instance identifier """ config = config or guess_configuration(cls.instance_home(appid)) configcls = configuration_cls(config) - return configcls(appid) + return configcls(appid, debugmode) @classmethod def possible_configurations(cls, appid): @@ -876,9 +873,9 @@ # instance methods used to get instance specific resources ############# - def __init__(self, appid): + def __init__(self, appid, debugmode=False): self.appid = appid - CubicWebNoAppConfiguration.__init__(self) + CubicWebNoAppConfiguration.__init__(self, debugmode) self._cubes = None self._site_loaded = set() self.load_file_configuration(self.main_config_file()) @@ -990,12 +987,12 @@ # init gettext self._set_language() - def init_log(self, logthreshold=None, debug=False, force=False): + def init_log(self, logthreshold=None, force=False): """init the log service""" if not force and hasattr(self, '_logging_initialized'): return self._logging_initialized = True - CubicWebNoAppConfiguration.init_log(self, logthreshold, debug, + CubicWebNoAppConfiguration.init_log(self, logthreshold, logfile=self.get('log-file')) # read a config file if it exists logconfig = join(self.apphome, 'logging.conf') diff -r 2a9181b82806 -r 3ed8afbbdf70 cwctl.py --- a/cwctl.py Thu Apr 29 11:09:03 2010 +0200 +++ b/cwctl.py Thu Apr 29 14:21:57 2010 +0200 @@ -477,14 +477,13 @@ def start_instance(self, appid): """start the instance's server""" - debug = self['debug'] force = self['force'] loglevel = self['loglevel'] - config = cwcfg.config_for(appid) + config = cwcfg.config_for(appid, debugmode=self['debug']) if loglevel is not None: loglevel = 'LOG_%s' % loglevel.upper() config.global_set_option('log-threshold', loglevel) - config.init_log(loglevel, debug=debug, force=True) + config.init_log(loglevel, force=True) if self['profile']: config.global_set_option('profile', self.config.profile) helper = self.config_helper(config, cmdname='start') @@ -493,7 +492,7 @@ msg = "%s seems to be running. Remove %s by hand if necessary or use \ the --force option." raise ExecutionError(msg % (appid, pidf)) - helper.start_server(config, debug) + helper.start_server(config) class StopInstanceCommand(InstanceCommand): diff -r 2a9181b82806 -r 3ed8afbbdf70 cwvreg.py --- a/cwvreg.py Thu Apr 29 11:09:03 2010 +0200 +++ b/cwvreg.py Thu Apr 29 14:21:57 2010 +0200 @@ -442,10 +442,10 @@ * contentnavigation XXX to merge with components? to kill? """ - def __init__(self, config, debug=None, initlog=True): + def __init__(self, config, initlog=True): if initlog: # first init log service - config.init_log(debug=debug) + config.init_log() super(CubicWebVRegistry, self).__init__(config) self.schema = None self.initialized = False diff -r 2a9181b82806 -r 3ed8afbbdf70 devtools/devctl.py --- a/devtools/devctl.py Thu Apr 29 11:09:03 2010 +0200 +++ b/devtools/devctl.py Thu Apr 29 14:21:57 2010 +0200 @@ -66,7 +66,7 @@ return None def main_config_file(self): return None - def init_log(self, debug=None): + def init_log(self): pass def load_configuration(self): pass diff -r 2a9181b82806 -r 3ed8afbbdf70 etwist/server.py --- a/etwist/server.py Thu Apr 29 11:09:03 2010 +0200 +++ b/etwist/server.py Thu Apr 29 14:21:57 2010 +0200 @@ -122,12 +122,11 @@ class CubicWebRootResource(resource.Resource): - def __init__(self, config, debug=None): - self.debugmode = debug + def __init__(self, config): self.config = config # instantiate publisher here and not in init_publisher to get some # checks done before daemonization (eg versions consistency) - self.appli = CubicWebPublisher(config, debug=self.debugmode) + self.appli = CubicWebPublisher(config) self.base_url = config['base-url'] self.https_url = config['https-url'] self.children = {} @@ -210,7 +209,7 @@ def render(self, request): """Render a page from the root resource""" # reload modified files in debug mode - if self.debugmode: + if self.config.debugmode: self.appli.vreg.reload_if_needed() if self.config['profile']: # default profiler don't trace threads return self.render_request(request) @@ -405,15 +404,15 @@ LOGGER = getLogger('cubicweb.twisted') set_log_methods(CubicWebRootResource, LOGGER) -def run(config, debug): +def run(config): # create the site - root_resource = CubicWebRootResource(config, debug) + root_resource = CubicWebRootResource(config) website = server.Site(root_resource) # serve it via standard HTTP on port set in the configuration port = config['port'] or 8080 reactor.listenTCP(port, website) logger = getLogger('cubicweb.twisted') - if not debug: + if not config.debugmode: if sys.platform == 'win32': raise ConfigurationError("Under windows, you must use the service management " "commands (e.g : 'net start my_instance)'") diff -r 2a9181b82806 -r 3ed8afbbdf70 etwist/twctl.py --- a/etwist/twctl.py Thu Apr 29 11:09:03 2010 +0200 +++ b/etwist/twctl.py Thu Apr 29 14:21:57 2010 +0200 @@ -32,9 +32,9 @@ cmdname = 'start' cfgname = 'twisted' - def start_server(self, config, debug): + def start_server(self, config): from cubicweb.etwist import server - server.run(config, debug) + server.run(config) class TWStopHandler(CommandHandler): cmdname = 'stop' diff -r 2a9181b82806 -r 3ed8afbbdf70 migration.py --- a/migration.py Thu Apr 29 11:09:03 2010 +0200 +++ b/migration.py Thu Apr 29 14:21:57 2010 +0200 @@ -111,7 +111,7 @@ self.config = config if config: # no config on shell to a remote instance - self.config.init_log(logthreshold=logging.ERROR, debug=True) + self.config.init_log(logthreshold=logging.ERROR) # 0: no confirmation, 1: only main commands confirmed, 2 ask for everything self.verbosity = verbosity self.need_wrap = True diff -r 2a9181b82806 -r 3ed8afbbdf70 server/repository.py --- a/server/repository.py Thu Apr 29 11:09:03 2010 +0200 +++ b/server/repository.py Thu Apr 29 14:21:57 2010 +0200 @@ -104,10 +104,10 @@ XXX protect pyro access """ - def __init__(self, config, vreg=None, debug=False): + def __init__(self, config, vreg=None): self.config = config if vreg is None: - vreg = cwvreg.CubicWebVRegistry(config, debug) + vreg = cwvreg.CubicWebVRegistry(config) self.vreg = vreg self.pyro_registered = False self.info('starting repository from %s', self.config.apphome) diff -r 2a9181b82806 -r 3ed8afbbdf70 server/serverctl.py --- a/server/serverctl.py Thu Apr 29 11:09:03 2010 +0200 +++ b/server/serverctl.py Thu Apr 29 14:21:57 2010 +0200 @@ -249,9 +249,9 @@ cmdname = 'start' cfgname = 'repository' - def start_server(self, ctlconf, debug): + def start_server(self, ctlconf): command = ['cubicweb-ctl start-repository '] - if debug: + if ctlconf.debugmode: command.append('--debug') command.append(self.config.appid) os.system(' '.join(command)) diff -r 2a9181b82806 -r 3ed8afbbdf70 web/application.py --- a/web/application.py Thu Apr 29 11:09:03 2010 +0200 +++ b/web/application.py Thu Apr 29 14:21:57 2010 +0200 @@ -280,12 +280,12 @@ to publish HTTP request. """ - def __init__(self, config, debug=None, + def __init__(self, config, session_handler_fact=CookieSessionHandler, vreg=None): self.info('starting web instance from %s', config.apphome) if vreg is None: - vreg = cwvreg.CubicWebVRegistry(config, debug=debug) + vreg = cwvreg.CubicWebVRegistry(config) self.vreg = vreg # connect to the repository and get instance's schema self.repo = config.repository(vreg) diff -r 2a9181b82806 -r 3ed8afbbdf70 wsgi/handler.py --- a/wsgi/handler.py Thu Apr 29 11:09:03 2010 +0200 +++ b/wsgi/handler.py Thu Apr 29 14:21:57 2010 +0200 @@ -100,9 +100,8 @@ NOTE: no pyro """ - def __init__(self, config, debug=None, vreg=None): - self.appli = CubicWebPublisher(config, debug=debug, vreg=vreg) - self.debugmode = debug + def __init__(self, config, vreg=None): + self.appli = CubicWebPublisher(config, vreg=vreg) self.config = config self.base_url = None # self.base_url = config['base-url'] or config.default_base_url()