27 lines
901 B
Python
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()
|