# HG changeset patch
# User Vincent Hatakeyama <vincent.hatakeyama@xcg-consulting.fr>
# Date 1584012190 -3600
#      Thu Mar 12 12:23:10 2020 +0100
# Node ID 9559e8b292df9bef3fc6fd79d12e0d62c3714dd5
# Parent  1e540bc281fb2c922b05239251e21e756b25da44
✨ improve error handling in import_jsonrpc to help finding problems in import file

diff --git a/odoo_scripts/import_jsonrpc.py b/odoo_scripts/import_jsonrpc.py
--- a/odoo_scripts/import_jsonrpc.py
+++ b/odoo_scripts/import_jsonrpc.py
@@ -7,6 +7,8 @@
 import sys
 from typing import Callable, Dict, List, Tuple, Union
 
+from odoorpc.error import RPCError
+
 from . import logging_from_verbose, odoo_connect_parser, odoo_login
 from .importing import add_importing_file_parsing, extract_info_from_parsed
 
@@ -54,6 +56,8 @@
         imf_ids = imf.search(
             [("model", "=", model), ("name", "=", field_name)]
         )
+        if not imf_ids:
+            raise Exception("No field {} in {}".format(field_name, model))
         return imf.browse(imf_ids)[0]
 
     def _convert_identity(value):
@@ -157,11 +161,19 @@
                     write_id = _ref(xmlid, False)
                 if write_id:
                     _logger.debug("Write %s (%d)", model, write_id)
-                    o.env[model].write(write_id, values)
+                    try:
+                        o.env[model].write(write_id, values)
+                    except RPCError:
+                        _logger.error("Current values: %s", values)
+                        raise
                     wrote.append(write_id)
                 else:
                     _logger.debug("Creating a %s", model)
-                    created_id = o.env[model].create(values)
+                    try:
+                        created_id = o.env[model].create(values)
+                    except RPCError:
+                        _logger.error("Current values: %s", values)
+                        raise
                     created.append(created_id)
                     if xmlid:
                         _logger.debug(