def create_import(self, cr, uid, ids, context=None): """ context used to specify: - import_error_management: 'rollback_and_continue' or 'raise' (default='raise', see _process function) - rollback_and_continue: True/False (default=True) - commit_and_new_thread: True/False (default=False) = rollback_and_continue but in a new thread if commit_and_new_thread or rollback_and_continue= True, import_error_management is forced to rollback_and_continue returns a list: [import_id1, ...] """ if isinstance(ids, (int, long)): ids = [ids] context = context or {} import_obj = self.pool.get('ir.model.import') import_name = context.get('import_name', '') test_mode = context.get('test_mode', False) import_ids = [] for template in self.browse(cr, uid, ids, context): tmpl_logger = SmileDBLogger(cr.dbname, 'ir.model.import.template', template.id, uid) try: import_name = import_name or template.name import_id = import_obj.create( cr, uid, { 'name': import_name, 'import_tmpl_id': template.id, 'test_mode': test_mode, 'state': 'started', 'from_date': time.strftime('%Y-%m-%d %H:%M:%S'), }, context) import_ids.append(import_id) logger = SmileDBLogger(cr.dbname, 'ir.model.import', import_id, uid) import_obj.write(cr, uid, import_id, {'pid': logger.pid}, context) if context.get('commit_and_new_thread'): cr.commit() t = threading.Thread( target=import_obj._process_with_new_cursor, args=(cr.dbname, uid, import_id, logger, context)) t.start() elif context.get('rollback_and_continue', True): cr.commit() import_obj._process_with_new_cursor( cr.dbname, uid, import_id, logger, context) else: import_obj._process_import(cr, uid, import_id, logger, context) except Exception, e: tmpl_logger.error(_get_exception_message(e)) raise e
def create_import(self, cr, uid, ids, context=None): """ context used to specify: - import_error_management: 'rollback_and_continue' or 'raise' (default='raise', see _process function) - rollback_and_continue: True/False (default=True) - commit_and_new_thread: True/False (default=False) = rollback_and_continue but in a new thread if commit_and_new_thread or rollback_and_continue= True, import_error_management is forced to rollback_and_continue returns a list: [import_id1, ...] """ if isinstance(ids, (int, long)): ids = [ids] context = context or {} import_obj = self.pool.get('ir.model.import') import_name = context.get('import_name', '') test_mode = context.get('test_mode', False) import_ids = [] for template in self.browse(cr, uid, ids, context): tmpl_logger = SmileDBLogger(cr.dbname, 'ir.model.import.template', template.id, uid) try: import_name = import_name or template.name import_id = import_obj.create(cr, uid, { 'name': import_name, 'import_tmpl_id': template.id, 'test_mode': test_mode, 'state': 'started', 'from_date': time.strftime('%Y-%m-%d %H:%M:%S'), }, context) import_ids.append(import_id) logger = SmileDBLogger(cr.dbname, 'ir.model.import', import_id, uid) import_obj.write(cr, uid, import_id, {'pid': logger.pid}, context) if context.get('commit_and_new_thread'): cr.commit() t = threading.Thread(target=import_obj._process_with_new_cursor, args=(cr.dbname, uid, import_id, logger, context)) t.start() elif context.get('rollback_and_continue', True): cr.commit() import_obj._process_with_new_cursor(cr.dbname, uid, import_id, logger, context) else: import_obj._process_import(cr, uid, import_id, logger, context) except Exception, e: tmpl_logger.error(_get_exception_message(e)) raise e