22 lines
534 B
Python
22 lines
534 B
Python
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()
|