def getBettingMarketByQuery(): sport = request.args.get("sport") event_group = request.args.get("eventGroup") event = request.args.get("event") betting_market_group = request.args.get("bettingMarketGroup") betting_market = request.args.get("bettingMarket") if sport is None or event_group is None or event is None or betting_market_group is None or betting_market is None: return make_response( jsonify( error= "Specify sport, eventGroup, event, bettingMarketGroup, and bettingMarket in query params" ), 500) try: for s in bookie.getSports(): if s['name'][0][1] == sport: sport_id = s['id'] break except Exception as e: return make_response(jsonify(error="Could not get sports"), 500) try: for eg in bookie.getEventGroups(sport_id): if eg['name'][0][1] == event_group: event_group_id = eg['id'] break except Exception as e: return make_response(jsonify(error="Sport does not exist"), 500) try: for e in bookie.getEvents(event_group_id): if e['name'][0][1] == event: event_id = e['id'] break except Exception as e: return make_response(jsonify(error="Event group does not exist"), 500) try: for bmg in bookie.getBettingMarketGroups(event_id): if bmg['description'][0][1] == betting_market_group: betting_market_group_id = bmg['id'] break except Exception as e: return make_response(jsonify(error="Event does not exist"), 500) try: for bm in bookie.getBettingMarkets(betting_market_group_id): if bm['description'][0][1] == betting_market: bm_id = bm['id'] break except Exception as e: return make_response( jsonify(error="Betting market group does not exist"), 500) try: return jsonify(bookie.getBettingMarket(bm_id)) except Exception as e: return make_response(jsonify(error=e.__doc__), 500)
def placeBetLoop(runners, mappings, ppy): num_bets_placed = 0 for runner in runners: runners_event_id = str(runner['event-id']) event_id = mappings[runners_event_id] bmgs = json.loads(json.dumps(bookie.getBettingMarketGroups(event_id))) for bmg in bmgs: # find the moneyline and totals bmg markets = json.loads( json.dumps(bookie.getBettingMarkets(bmg['id']))) for market in markets: # find the betting market for this team # if statement to trim list down to Match Odds and Totals if (market['description'][0][1] == runner['name'] or market['description'][0][1][-4:].upper() == runner['name'][:4] or market['description'][0][1][:-6].upper() == runner['name']): try: print("Betting on betting market", market['id']) if (len(runner['prices']) == 4 ): # got a full slate of odds price_index_back = random.choice([0, 1]) placeBetHelper(market['id'], runner, price_index_back, ppy) num_bets_placed += 1 price_index_lay = random.choice([2, 3]) placeBetHelper(market['id'], runner, price_index_lay, ppy) num_bets_placed += 1 else: # didnt get a full slate of odds, do what we can placeBetHelper(market['id'], runner, 0, ppy) num_bets_placed += 1 price_index_lay = random.choice([2, 3]) placeBetHelper(market['id'], runner, 1, ppy) num_bets_placed += 1 except Exception as e: print(e) print( 'Runner had bad or incomplete odds... continuing...' ) return num_bets_placed
def getBettingMarketGroups(event_id): try: return jsonify(bookie.getBettingMarketGroups(event_id)) except Exception as e: return make_response(jsonify(error=e.__doc__), 500)