From 89af288c3b1747d59bb3ccd65a6bb85fcd542961 Mon Sep 17 00:00:00 2001 From: "Naresh (OpenERP)" Date: Thu, 5 May 2011 15:56:00 +0530 Subject: [PATCH 1/3] [FIX]:AttributeError lp bug: https://launchpad.net/bugs/675826 fixed bzr revid: nch@tinyerp.com-20110505102600-0zch200zndsdf383 --- openerp/tools/misc.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/openerp/tools/misc.py b/openerp/tools/misc.py index 1524d95d922..d0f8faec6e0 100644 --- a/openerp/tools/misc.py +++ b/openerp/tools/misc.py @@ -159,7 +159,7 @@ def exec_pg_command(name, *args): if not prog: raise Exception('Couldn\'t find %s' % name) args2 = (prog,) + args - + return subprocess.call(args2) def exec_pg_command_pipe(name, *args): @@ -1283,6 +1283,9 @@ def detect_server_timezone(): def get_server_timezone(): # timezone detection is safe in multithread, so lazy init is ok here + if config['timezone'] and \ + not isinstance(config['timezone'], basestring): + return 'UTC' if (not config['timezone']): config['timezone'] = detect_server_timezone() return config['timezone'] From 418f8b2cbc46e16900e0df85f43e98179960f935 Mon Sep 17 00:00:00 2001 From: "Naresh (OpenERP)" Date: Fri, 6 May 2011 16:00:53 +0530 Subject: [PATCH 2/3] [IMP]:add logger warning to notify the user for incorrect timezone value in config bzr revid: nch@tinyerp.com-20110506103053-egt8eh85knkd3mg0 --- openerp/tools/misc.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/openerp/tools/misc.py b/openerp/tools/misc.py index d0f8faec6e0..401d10ee035 100644 --- a/openerp/tools/misc.py +++ b/openerp/tools/misc.py @@ -1285,6 +1285,8 @@ def get_server_timezone(): # timezone detection is safe in multithread, so lazy init is ok here if config['timezone'] and \ not isinstance(config['timezone'], basestring): + loglevels.Logger().notifyChannel("detect_server_timezone", loglevels.LOG_WARNING, + "Invalid timezone value in configuration or environment: %r, using UTC instead. Please fix this in your configuration" %(config['timezone'])) return 'UTC' if (not config['timezone']): config['timezone'] = detect_server_timezone() From fb753b29eede7df92c5bfbd62c780783398baa25 Mon Sep 17 00:00:00 2001 From: "Naresh (OpenERP)" Date: Mon, 9 May 2011 15:14:48 +0530 Subject: [PATCH 3/3] [IMP]:moved from misc to config file and allowed the server die if the timezone is not valid. bzr revid: nch@tinyerp.com-20110509094448-vdfs3rmbcm5tw6n4 --- openerp/tools/config.py | 5 +++-- openerp/tools/misc.py | 5 ----- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/openerp/tools/config.py b/openerp/tools/config.py index 1ae839ba65d..9bc15bb128a 100644 --- a/openerp/tools/config.py +++ b/openerp/tools/config.py @@ -32,7 +32,7 @@ def check_ssl(): try: from OpenSSL import SSL import socket - + return hasattr(socket, 'ssl') and hasattr(SSL, "Connection") except: return False @@ -349,7 +349,8 @@ class configmanager(object): self.options['update'] = opt.update and dict.fromkeys(opt.update.split(','), 1) or {} self.options['translate_modules'] = opt.translate_modules and map(lambda m: m.strip(), opt.translate_modules.split(',')) or ['all'] self.options['translate_modules'].sort() - + die(self.options['timezone'] and not isinstance(self.options['timezone'], basestring), + "Invalid timezone value in configuration or environment: %r, Please fix this in your configuration" %(self.options['timezone'])) if self.options['timezone']: # If an explicit TZ was provided in the config, make sure it is known try: diff --git a/openerp/tools/misc.py b/openerp/tools/misc.py index 401d10ee035..e1a6a717e87 100644 --- a/openerp/tools/misc.py +++ b/openerp/tools/misc.py @@ -1283,11 +1283,6 @@ def detect_server_timezone(): def get_server_timezone(): # timezone detection is safe in multithread, so lazy init is ok here - if config['timezone'] and \ - not isinstance(config['timezone'], basestring): - loglevels.Logger().notifyChannel("detect_server_timezone", loglevels.LOG_WARNING, - "Invalid timezone value in configuration or environment: %r, using UTC instead. Please fix this in your configuration" %(config['timezone'])) - return 'UTC' if (not config['timezone']): config['timezone'] = detect_server_timezone() return config['timezone']