Advertisement
Guest User

Untitled

a guest
Apr 5th, 2020
223
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.82 KB | None | 0 0
  1. from project.factory.chocolate_factory import ChocolateFactory
  2. from project.factory.egg_factory import EggFactory
  3. from project.factory.paint_factory import PaintFactory
  4.  
  5.  
  6. class EasterShop:
  7.     def __init__(self, name: str, chocolate_factory: ChocolateFactory, egg_factory: EggFactory, paint_factory: PaintFactory):
  8.         self.name = name
  9.         self.chocolate_factory = chocolate_factory
  10.         self.egg_factory = egg_factory
  11.         self.paint_factory = paint_factory
  12.         self.storage = {}
  13.  
  14.     def add_chocolate_ingredient(self, ingredient_type: str, quantity: int):
  15.         self.chocolate_factory.add_ingredient(ingredient_type, quantity)
  16.  
  17.     def add_egg_ingredient(self, ingredient_type: str, quantity: int):
  18.         self.egg_factory.add_ingredient(ingredient_type, quantity)
  19.  
  20.     def add_paint_ingredient(self, ingredient_type: str, quantity: int):
  21.         self.paint_factory.add_ingredient(ingredient_type, quantity)
  22.  
  23.     def make_chocolate(self, recipe: str):
  24.         self.chocolate_factory.make_chocolate(recipe)
  25.         if recipe in self.storage:
  26.             self.storage[recipe] += 1
  27.         else:
  28.             self.storage[recipe] = 1
  29.     def paint_egg(self, color:str, egg_type: str):
  30.         if self.egg_factory.products[egg_type] >= 1 and self.paint_factory.products[color] >= 1:
  31.             if f"{color} {egg_type}" in self.storage:
  32.                 self.storage[f"{color} {egg_type}"] += 1
  33.             else:
  34.                 self.storage[f"{color} {egg_type}"] = 1
  35.             self.egg_factory.products[egg_type] -= 1
  36.             self.paint_factory.products[color] -= 1
  37.         else:
  38.             raise ValueError("Invalid command")
  39.  
  40.     def __repr__(self):
  41.         result = ""
  42.         result += f"Shop name: {self.name}"
  43.         for item in self.storage:
  44.             result += f"{item[0]}: {item[1]}"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement