25 lines
859 B
Python
25 lines
859 B
Python
from typing import Union
|
|
|
|
from database import Marketplace
|
|
from database.sipro.enums.general import BaseMarketplace
|
|
from .wildberries import WildberriesMarketplaceApi
|
|
from .ozon import OzonMarketplaceApi
|
|
from .yandexmarket import YandexmarketMarketplaceApi
|
|
|
|
|
|
class MarketplaceApiFactory:
|
|
@staticmethod
|
|
def get_marketplace_api(marketplace: Marketplace) -> Union[
|
|
WildberriesMarketplaceApi,
|
|
OzonMarketplaceApi,
|
|
YandexmarketMarketplaceApi
|
|
]:
|
|
match marketplace.base_marketplace:
|
|
case BaseMarketplace.OZON:
|
|
return OzonMarketplaceApi(marketplace)
|
|
case BaseMarketplace.WILDBERRIES:
|
|
return WildberriesMarketplaceApi(marketplace)
|
|
case BaseMarketplace.YANDEX_MARKET:
|
|
return YandexmarketMarketplaceApi(marketplace)
|
|
raise ValueError()
|