Пример #1
0
    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