Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from project.factory.chocolate_factory import ChocolateFactory
- from project.factory.egg_factory import EggFactory
- from project.factory.paint_factory import PaintFactory
- class EasterShop:
- def __init__(self, name: str, chocolate_factory: ChocolateFactory, egg_factory: EggFactory, paint_factory: PaintFactory):
- self.name = name
- self.chocolate_factory = chocolate_factory
- self.egg_factory = egg_factory
- self.paint_factory = paint_factory
- self.storage = {}
- def add_chocolate_ingredient(self, ingredient_type: str, quantity: int):
- self.chocolate_factory.add_ingredient(ingredient_type, quantity)
- def add_egg_ingredient(self, ingredient_type: str, quantity: int):
- self.egg_factory.add_ingredient(ingredient_type, quantity)
- def add_paint_ingredient(self, ingredient_type: str, quantity: int):
- self.paint_factory.add_ingredient(ingredient_type, quantity)
- def make_chocolate(self, recipe: str):
- self.chocolate_factory.make_chocolate(recipe)
- if recipe in self.storage:
- self.storage[recipe] += 1
- else:
- self.storage[recipe] = 1
- def paint_egg(self, color:str, egg_type: str):
- if self.egg_factory.products[egg_type] >= 1 and self.paint_factory.products[color] >= 1:
- if f"{color} {egg_type}" in self.storage:
- self.storage[f"{color} {egg_type}"] += 1
- else:
- self.storage[f"{color} {egg_type}"] = 1
- self.egg_factory.products[egg_type] -= 1
- self.paint_factory.products[color] -= 1
- else:
- raise ValueError("Invalid command")
- def __repr__(self):
- result = ""
- result += f"Shop name: {self.name}"
- for item in self.storage:
- result += f"{item[0]}: {item[1]}"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement