summaryrefslogtreecommitdiff
path: root/odoo/tools/cache.py
diff options
context:
space:
mode:
Diffstat (limited to 'odoo/tools/cache.py')
-rw-r--r--odoo/tools/cache.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/odoo/tools/cache.py b/odoo/tools/cache.py
index 48dc42ba04c..acc01895a48 100644
--- a/odoo/tools/cache.py
+++ b/odoo/tools/cache.py
@@ -8,6 +8,8 @@ from decorator import decorator
from inspect import formatargspec, getargspec
import logging
+from odoo.tools import pycompat
+
unsafe_eval = eval
_logger = logging.getLogger(__name__)
@@ -112,7 +114,7 @@ class ormcache_context(ormcache):
spec = getargspec(self.method)
args = formatargspec(*spec)[1:-1]
cont_expr = "(context or {})" if 'context' in spec.args else "self._context"
- keys_expr = "tuple(map(%s.get, %r))" % (cont_expr, self.keys)
+ keys_expr = "tuple(%s.get(k) for k in %r)" % (cont_expr, self.keys)
if self.args:
code = "lambda %s: (%s, %s)" % (args, ", ".join(self.args), keys_expr)
else:
@@ -200,10 +202,10 @@ def log_ormcache_stats(sig=None, frame=None):
me = threading.currentThread()
me_dbname = me.dbname
entries = defaultdict(int)
- for dbname, reg in Registry.registries.iteritems():
- for key in reg.cache.iterkeys():
+ for dbname, reg in pycompat.items(Registry.registries):
+ for key in reg.cache:
entries[(dbname,) + key[:2]] += 1
- for key, count in sorted(entries.items()):
+ for key, count in sorted(pycompat.items(entries)):
dbname, model_name, method = key
me.dbname = dbname
stat = STAT[key]