20 lines
		
	
	
		
			881 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			20 lines
		
	
	
		
			881 B
		
	
	
	
		
			Python
		
	
	
	
	
	
from enums.base_marketplace import BaseMarketplace
 | 
						|
from external.marketplace.ozon.core import OzonMarketplaceApi
 | 
						|
from external.marketplace.wildberries.core import WildberriesApiUrl, WildberriesMarketplaceApi
 | 
						|
from external.marketplace.yandex.core import YandexMarketplaceApi
 | 
						|
from models import Marketplace
 | 
						|
 | 
						|
 | 
						|
class MarketplaceApiFactory:
 | 
						|
    @staticmethod
 | 
						|
    def get_marketplace_api(marketplace: Marketplace):
 | 
						|
        match marketplace.base_marketplace_key:
 | 
						|
            case BaseMarketplace.WILDBERRIES:
 | 
						|
                return WildberriesMarketplaceApi(marketplace)
 | 
						|
            case BaseMarketplace.OZON:
 | 
						|
                return OzonMarketplaceApi(marketplace)
 | 
						|
            case BaseMarketplace.YANDEX_MARKET:
 | 
						|
                return YandexMarketplaceApi(marketplace)
 | 
						|
            case _:
 | 
						|
                raise ValueError(f"Unsupported marketplace: {marketplace.base_marketplace_key}")
 |