import json import jwt from celery.backends.database import retry from queries.general import StockData from sender.base import StockRequest from updaters.base import BaseMarketplaceUpdater class WildberriesUpdater(BaseMarketplaceUpdater): def _get_identifier(self) -> str: try: auth_data = self.get_auth_data() token = auth_data.get('token') decoded_token = jwt.decode(token, algorithms=["HS256"], options={"verify_signature": False}) sid = decoded_token.get('sid') return str(sid) except Exception: return f'-1' def get_stock_request(self, stock_data: StockData) -> StockRequest: return { 'request_data': { 'sku': stock_data['marketplace_product'].third_additional_article, 'amount': stock_data['full_stock'] }, 'product_id': stock_data['product_id'], 'full_stock': stock_data['full_stock'] }