From 7043023dd859943a2cf5fa3e3e86652ad427f6e5 Mon Sep 17 00:00:00 2001 From: Julien Thewys Date: Thu, 1 Apr 2010 21:25:02 +0200 Subject: [PATCH] [FIX] Safer assignment to many2one. bzr revid: jth@openerp.com-20100401192502-zojg3dxhup49oz1m --- bin/tools/yaml_import.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/bin/tools/yaml_import.py b/bin/tools/yaml_import.py index 4e974720c6c..b4278abd5c8 100644 --- a/bin/tools/yaml_import.py +++ b/bin/tools/yaml_import.py @@ -178,6 +178,15 @@ class YamlInterpreter(object): def isnoupdate(self, node): return self.noupdate or node.noupdate or False + def _get_first_result(self, results, default=False): + if len(results): + value = results[0] + if isinstance(value, types.TupleType): + value = value[0] + else: + value = default + return value + def process_comment(self, node): return node @@ -296,7 +305,7 @@ class YamlInterpreter(object): if column._type in ("many2many", "one2many"): value = [(6, 0, elements)] else: # many2one - value = elements[0] + value = self._get_first_result(elements) elif column._type == "many2one": value = self.get_id(expression) elif column._type == "one2many":