Пример #1
0
 def create_review(self, item, rate):
     new_review = Review(self, item, rate)
     self.reviews.append(new_review)
     logger.info(
         f"New review by {new_review}, is created by the customer: {self.id}"
     )
     return new_review
Пример #2
0
 def check_order(self, order):
     logger.debug(f"Checking orders {order.id}")
     if not order.status == 'New':
         return order
     for supply in self.supply:
         if supply.item == order.item and supply.amount >= order.amount:
             order.status = 'Confirmed'
             logger.info(f"New order: {order}, is confirmed")
             return order
     order.status = 'On Hold'
     return order
Пример #3
0
 def check_review(self, review):
     logger.debug(f"Checking reviews {review.id}")
     if not review.validate_review():
         logger.error(
             f"Error. Invalid rate '{review.rate}'. Should input rate from 1 to 5"
         )
         exit()
     if not review.status == 'Moderation':
         return review
     for rate in self.reviews:
         if rate.item == review.item:
             review.status = 'Published'
             logger.info(f"New review by {review}, is published")
             return review
     review.status = 'Not confirmed'
     return review
Пример #4
0
 def create_order(self, item, amount):
     new_order = Order(self, item, amount)
     self.orders.append(new_order)
     logger.info(
         f"New order, {new_order} is created by the customer: {self.id}")
     return new_order
Пример #5
0
supplier2 = Supplier("isupplytoo", "4real", "Reliable Company", "Van Reliable",
                    "011-112-35-8", "*****@*****.**")
customer1 = Customer("iamguido", "4sure", "Guido", "Van Rossum", "000-112-35-8",
                    "*****@*****.**", "09-09-1968")
customer2 = Customer("_iamguido", "_4sure", "_Guido", "_Van Rossum", "000-112-35-8",
                    "*****@*****.**", "09-09-1968")
item1 = Item("Banana", "Better than ever before", 799.0,
            ("Golden", "Fresh Green"))
item2 = Item("Best Banana", "Better than others", 899.0,
            ("Truly Golden", "Fresher Green"))

supply.append(supplier1.add_supply(item1, 10))
supply.append(supplier2.add_supply(item2, 5))

customer1.create_order(item2, 5)
logger.info(customer1.orders[0].status)
customer1.create_review(item1, 10)
logger.info(customer1.reviews[0].status)

customer2.create_order(item1, 4)
logger.info(customer2.orders[0].status)
customer2.create_review(item1, 4)
logger.info(customer2.reviews[0].status)

admin1.update_supply([supplier1, supplier2])
admin1.update_orders([customer1, customer2])
admin1.update_reviews([customer1, customer2])

admin1.check_order(customer1.orders[0])
admin1.check_review(customer1.reviews[0])
logger.info(customer1.orders[0].status)
Пример #6
0
 def update_supply(self, suppliers_list):
     self.supply.clear()
     for supplier in suppliers_list:
         logger.info(f"Supply {supplier} is updated by administrator")
         self.supply.extend(supplier.supply)