From 7d4d06f488d76e6e7a34bc9ccf05b6ea1d1bb942 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Fri, 19 Dec 2008 14:39:12 +0100 Subject: [PATCH] Always use unicode keys for translation cache for issue687 --- trytond/ir/translation.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/trytond/ir/translation.py b/trytond/ir/translation.py index 60e98cfa4e..36c24a8024 100644 --- a/trytond/ir/translation.py +++ b/trytond/ir/translation.py @@ -107,6 +107,9 @@ class Translation(OSV, Cacheable): def _get_ids(self, cursor, name, ttype, lang, ids): translations, to_fetch = {}, [] + name = unicode(name) + ttype = unicode(ttype) + lang = unicode(lang) if name.split(',')[0] == 'ir.model.field': model_fields_obj = self.pool.get('ir.model.field') field_name = name.split(',')[1] @@ -213,6 +216,11 @@ class Translation(OSV, Cacheable): return len(ids) def _get_source(self, cursor, name, ttype, lang, source=None): + name = unicode(name) + ttype = unicode(ttype) + lang = unicode(lang) + if source is not None: + source = unicode(source) trans = self.get(cursor, (lang, ttype, name, source)) if trans is not None: return trans @@ -262,6 +270,10 @@ class Translation(OSV, Cacheable): res.update(self._get_sources(cursor, sub_args)) return res for name, ttype, lang, source in args: + name = unicode(name) + ttype = unicode(ttype) + lang = unicode(lang) + source = unicode(source) trans = self.get(cursor, (lang, ttype, name, source)) if trans is not None: res[(name, ttype, lang, source)] = trans