reverted report_sxw.py

bzr revid: apa@tinyerp.com-20090120130554-g6145dpil7fzmmq2
This commit is contained in:
Apa (Open ERP) 2009-01-20 18:35:54 +05:30
parent e916f04ea2
commit eae277fbb5
1 changed files with 13 additions and 64 deletions

View File

@ -333,82 +333,31 @@ class rml_parse(object):
else:
obj._cache[table][id] = {'id': id}
def formatLang(self, value, digits=2, date=False,date_time=False, grouping=True, monetary=False, currency=None):
if not value:
return ''
lc, encoding = locale.getdefaultlocale()
if not encoding:
encoding = 'UTF-8'
if encoding == 'utf':
encoding = 'UTF-8'
if encoding == 'cp1252':
encoding= '1252'
pool_lang=self.pool.get('res.lang')
lang = self.localcontext.get('lang', 'en_US') or 'en_US'
try:
if os.name == 'nt':
locale.setlocale(locale.LC_ALL, _LOCALE2WIN32.get(lang, lang) + '.' + encoding)
else:
locale.setlocale(locale.LC_ALL, str(lang + '.' + encoding))
except Exception:
netsvc.Logger().notifyChannel('report', netsvc.LOG_WARNING,
'report %s: unable to set locale "%s"' % (self.name,
self.localcontext.get('lang', 'en_US') or 'en_US'))
lang, encoding = locale.getdefaultlocale()
lang_obj = pool_lang.browse(self.cr,self.uid,pool_lang.search(self.cr,self.uid,[('code','=',lang)])[0])
if date or date_time:
date_format = lang_obj.date_format
if date_time:
date_format = lang_obj.date_format + " " + lang_obj.time_format
if not isinstance(value, time.struct_time):
# assume string, parse it
if len(str(value)) == 10:
# length of date like 2001-01-01 is ten
# assume format '%Y-%m-%d'
date = time.strptime(value, DT_FORMAT)
locale.setlocale(locale.LC_ALL, str(lang + '.' + encoding))
return time.strftime(locale.nl_langinfo(locale.D_FMT).replace('%y', '%Y'),date)
date = mx.DateTime.strptime(value,DT_FORMAT)
else:
# assume format '%Y-%m-%d %H:%M:%S'
date = time.strptime(value, DHM_FORMAT)
date_f = time.strftime(locale.nl_langinfo(locale.D_FMT).replace('%y', '%Y'),date)
time_f = time.strftime(locale.nl_langinfo(locale.T_FMT),date)
res = date_f + " " + time_f
locale.setlocale(locale.LC_ALL, str(lang + '.' + encoding))
return res
return date
return locale.format('%.' + str(digits) + 'f', value, grouping=grouping, monetary=monetary)
# def formatLang(self, value, digits=2, date=False,date_time=False, grouping=True, monetary=False, currency=None):
# if not value:
# return ''
#
# pool_lang=self.pool.get('res.lang')
# lang = self.localcontext.get('lang', 'en_US') or 'en_US'
# lang_obj = pool_lang.browse(self.cr,self.uid,pool_lang.search(self.cr,self.uid,[('code','=',lang)])[0])
#
# if date or date_time:
# date_format = lang_obj.date_format
# if date_time:
# date_format = lang_obj.date_format + " " + lang_obj.time_format
#
# if not isinstance(value, time.struct_time):
# # assume string, parse it
# if len(str(value)) == 10:
# # length of date like 2001-01-01 is ten
# # assume format '%Y-%m-%d'
# date = mx.DateTime.strptime(str(value),DT_FORMAT)
# else:
# # assume format '%Y-%m-%d %H:%M:%S'
# value = str(value)[:19]
# date = mx.DateTime.strptime(str(value),DHM_FORMAT)
# else:
# date = mx.DateTime.DateTime(*(value.timetuple()[:6]))
#
# return date.strftime(date_format)
#
# return lang_obj.format('%.' + str(digits) + 'f', value, grouping=grouping, monetary=monetary)
value = str(value)[:19]
date = mx.DateTime.strptime(str(value),DHM_FORMAT)
else:
date = mx.DateTime.DateTime(*(value.timetuple()[:6]))
return date.strftime(date_format)
return lang_obj.format('%.' + str(digits) + 'f', value, grouping=grouping, monetary=monetary)
# def formatLang(self, value, digit=2, date=False):
# if not value: