def buy(self, cat_name, prod_name, price): """ Place a bid on a product :param cat_name: category name :param prod_name: product name :param price: value of the bid """ try: cat = Category.search_category(self._auct._categories, cat_name) auct = cat.search_auction(prod_name) auct.bid(price=price, user=self.user) self.response(1) except UserException, e: self.response(5, res_msg=str(e))
def unbuy(self, cat_name, prod_name): """ Remove our last offer only if it's the highest :param cat_name: category name :param prod_name: product name """ try: cat = Category.search_category(self._auct._categories, cat_name) auct = cat.search_auction(prod_name) auct.unbid(self.user) self.response(1) except CategoryException, e: debug_print(e) self.response(0)
def close_bid(self, cat_name, prod_name): """ Close a bid :param cat_name: category name :param prod_name: product name """ print "Closing bid " + prod_name try: cat = Category.search_category(self._auct._categories, cat_name) auct = cat.search_auction(prod_name) auct.close(self.user) cat.del_auction(auct) self.response(1) except CategoryException, e: # Not matching category error_print(e) self.response(0)
def sell(self, cat_name, prod_name, price): """ Add a new product on the server :param cat_name: category name :param prod_name: product name :param price: base price for the auction """ print "Selling: " print price try: cat = Category.search_category(self._auct._categories, cat_name) a = Auction(prod_name, price, self.user) cat.add_auction(a) self.response(1) except CategoryException, e: debug_print(e) self.response(0, res_msg=str(e))