Files
Fulfillment-Backend/barcodes/attributes/__init__.py
2024-05-09 03:33:44 +03:00

25 lines
686 B
Python

from abc import abstractmethod, ABC
from models import Product
from .article_attribute_getter import ArticleAttributeGetter
from .client_name_attribute_getter import ClientNameAttributeGetter
from .name_attribute_getter import NameAttributeGetter
class BaseAttributeGetter(ABC):
@abstractmethod
def get_value(self, product: Product):
pass
class AttributeWriterFactory:
@staticmethod
def get_writer(key: str):
match key:
case 'name':
return NameAttributeGetter()
case 'article':
return ArticleAttributeGetter()
case 'client.name':
return ClientNameAttributeGetter()