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

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()