From 2ac1ab3e07b24260b89423ccce7747939096b365 Mon Sep 17 00:00:00 2001 From: Albert Cervera i Areny Date: Thu, 22 Aug 2019 15:17:56 +0200 Subject: [PATCH] In improve_performance_on_try_assign.diff instantiate UOMs only once to actually improve performance. --- improve_performance_on_try_assign.diff | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/improve_performance_on_try_assign.diff b/improve_performance_on_try_assign.diff index da19030..18b8df4 100644 --- a/improve_performance_on_try_assign.diff +++ b/improve_performance_on_try_assign.diff @@ -1,7 +1,7 @@ diff -r 3d822d8cff23 move.py --- a/trytond/trytond/modules/stock/move.py Fri Jun 07 11:46:35 2019 +0200 +++ b/trytond/trytond/modules/stock/move.py Fri Jun 07 11:50:52 2019 +0200 -@@ -1389,11 +1389,26 @@ +@@ -1389,11 +1389,27 @@ del quantities[key] # Round quantities @@ -23,11 +23,12 @@ diff -r 3d822d8cff23 move.py + + default_uom = dict((x[0], x[1]) for x in + cursor.fetchall()) ++ uoms = dict([(x, Uom(x)) for x in set(default_uom.values())]) + for key, quantity in quantities.items(): location = key[0] - uom = default_uom[id_getter(key)] -+ uom = Uom(default_uom[id_getter(key)]) ++ uom = uoms[default_uom[id_getter(key)]] quantities[key] = uom.round(float(quantity)) if quantity else 0.0 return quantities