| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- from .product import product
- from .product import product_factory
- from .exception import empty_field_exception
- class product_builder:
- def __init__(self, target: product | None = None) -> None:
- self.__target = target
- if self.__target is None:
- self.__target = product()
- def modify(self, target: dict) -> object:
- factory = product_factory(self.__target)
- if "name" in target:
- factory.name = target["name"]
- if "description" in target:
- factory.description = target["description"]
- if "author" in target:
- factory.author = target["author"]
- if "stock_count" in target:
- stock_count = target["stock_count"]
- if type(stock_count) is str:
- stock_count = stock_count.strip()
-
- if type(stock_count) is str and len(stock_count) == 0:
- raise empty_field_exception("stock_count")
-
- factory.stock_count = int(stock_count)
- if "barcode" in target:
- factory.barcode = target["barcode"]
- self.__target = factory.result
- return self
- @property
- def result(self) -> product:
- return self.__target
|