def recover_ware_data(link_db): """ Восстановить данные по товару. Сериализуем контент товара, если это необходимо. :return: True - в случае успешного обновления, False - в случае если обновление не удалось """ if WarehouseMethods.SAVED_WARE is not None and isinstance(WarehouseMethods.SAVED_WARE, list) is not True: service_log.put("Try recover data for ware ID's: %s" % WarehouseMethods.SAVED_WARE["ware_id"]) # обновляем данные ware_data = WarehouseMethods.SAVED_WARE # обновляем идентификатор stock_state_id link_db.warehouse.update_stack_state_by_ware_id(shop_id=ware_data["shop_id"], ware_id=ware_data["ware_id"], stack_state=ware_data["stock_state_id"]) # обновляем идентификатор managed_category_id link_db.warehouse.update_category_by_ware_id(shop_id=ware_data["shop_id"], ware_id=ware_data["ware_id"], category=ware_data["managed_category_id"]) # обновляем данные контента link_db.warehouse.update_content_by_ware_id(shop_id=ware_data["shop_id"], ware_id=ware_data["ware_id"], content=dict_to_json(ware_data["content"])) service_log.put("Recovered data ware.") return True else: service_log.put("Warning! : The variable with the data ware is empty. Recovery data ware - cancelled.") return False