def cop_first_available_variant(self, product_url, quantity=1): product = Product(self.session, product_url) product.load_product_data() variant_titles = product.get_variant_titles() for variant_title in variant_titles: product.add_to_cart(variant_title, quantity) self.cart.insert(0, (product, variant_title, quantity)) try: self.check_out() except SoldOutError: continue else: break if self.cart: for p, v, q in self.cart: print( colorize("$Copped {} -- {} ({})$".format(p.title, v, q), TextFormats.GREEN + TextFormats.BOLD)) self.remove_from_cart(p.title, v) else: raise SoldOutError
def add_to_cart(self, product_url, variant_title, quantity): product = Product(self.session, product_url) product.load_product_data() product.add_to_cart(variant_title, quantity) self.cart.insert(0, (product, variant_title, quantity))