33 lines
990 B
Python
33 lines
990 B
Python
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']
|
|
}
|