def Highestbid(N, item): topN={} i=1 s = Bids.search().sort('-bid_amount') topN_result = s.filter("term", item = item.item_name).execute()[:N] for bid in topN_result: topN[i]=({'Bidder':bid.bidder, 'Item':bid.item, 'Bid Amount': int(bid.bid_amount)}) #int to remove L character from output i=i+1 return topN
def Highestbid(N, item): topN = {} i = 1 s = Bids.search().sort('-bid_amount') topN_result = s.filter("term", item=item.item_name).execute()[:N] for bid in topN_result: topN[i] = ({ 'Bidder': bid.bidder, 'Item': bid.item, 'Bid Amount': int(bid.bid_amount) }) #int to remove L character from output i = i + 1 return topN
def sell_items(request, item): s = Bids.search() s.aggs.bucket('SP', 'terms', field=ITEM_INDEX).metric('max_bid', 'max', field='bid_amount') response = s.execute() for term in response.aggregations.SP.buckets: if term.key == item.item_name: selling_price = term.max_bid.value buyer = get_bid(item_name=item.item_name, amount=selling_price)[0].bidder doc = dict(status="Sold", sold_to=buyer) update_item(item= item, key_value=doc) return HttpResponse("Item Sold: {0} at {1} to {2}".format(item.item_name, selling_price, buyer))
def sell_items(request, item): s = Bids.search() s.aggs.bucket('SP', 'terms', field=ITEM_INDEX).metric('max_bid', 'max', field='bid_amount') response = s.execute() for term in response.aggregations.SP.buckets: if term.key == item.item_name: selling_price = term.max_bid.value buyer = get_bid(item_name=item.item_name, amount=selling_price)[0].bidder doc = dict(status="Sold", sold_to=buyer) update_item(item=item, key_value=doc) return HttpResponse("Item Sold: {0} at {1} to {2}".format( item.item_name, selling_price, buyer))
def get_bid(bidder=None, item_name = None, amount=None): try: s= Bids.search() if item_name: if bidder: bid = s.filter("term", item = item_name).filter("term", bidder = bidder).execute() elif amount: bid = s.filter("term", item = item_name).filter("term", bid_amount = amount).execute() else: bid = s.filter("term", item = item_name).execute() elif bidder: bid = s.filter("term", bidder = bidder).execute() else: print "ERROR: Item_name and Bidder not present" bid = False except NotFoundError: return False else: return bid
def get_bid(bidder=None, item_name=None, amount=None): try: s = Bids.search() if item_name: if bidder: bid = s.filter("term", item=item_name).filter("term", bidder=bidder).execute() elif amount: bid = s.filter("term", item=item_name).filter( "term", bid_amount=amount).execute() else: bid = s.filter("term", item=item_name).execute() elif bidder: bid = s.filter("term", bidder=bidder).execute() else: print "ERROR: Item_name and Bidder not present" bid = False except NotFoundError: return False else: return bid