Files
Sipro-Stocks/sender/factory.py
2025-05-11 07:46:57 +03:00

27 lines
901 B
Python

from typing import TYPE_CHECKING, Union
from database.sipro.enums.general import BaseMarketplace
from sender.ozon import OzonStocksSender
from sender.wildberries import WildberriesStocksSender
from sender.yandexmarket import YandexmarketStocksSender
if TYPE_CHECKING:
from updaters.base import BaseMarketplaceUpdater
class SenderFactory:
@staticmethod
def get_sender(updater: "BaseMarketplaceUpdater") -> Union[
WildberriesStocksSender,
OzonStocksSender,
YandexmarketStocksSender
]:
match updater.marketplace.base_marketplace:
case BaseMarketplace.WILDBERRIES:
return WildberriesStocksSender(updater)
case BaseMarketplace.OZON:
return OzonStocksSender(updater)
case BaseMarketplace.YANDEX_MARKET:
return YandexmarketStocksSender(updater)
raise ValueError()