from abc import abstractmethod, ABC from .article_attribute_writer import ArticleAttributeWriter from .name_attribute_writer import NameAttributeWriter from ..barcode import Barcode class BaseAttributeWriter(ABC): @abstractmethod def write(self, barcode: Barcode): pass class AttributeWriterFactory: @staticmethod def get_writer(key: str): match key: case 'name': return NameAttributeWriter() case 'article': return ArticleAttributeWriter()