Advertisement
mrnethen

Untitled

Nov 21st, 2014
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.55 KB | None | 0 0
  1. import bets
  2. from decimal import *
  3.  
  4. api = bets.BetsApi('<KEY>')
  5.  
  6.  
  7. def project_bets_by_id(project_id):
  8.     """
  9.    Returns all active bets for project.
  10.    """
  11.     bets = api.get_active_bets(project_id=project_id)
  12.     return bets
  13.  
  14.  
  15. def get_ticket_bet(ticket_number, project_bets):
  16.     """
  17.    Tries to get ticket bet dictionary if the bet for ticket exists.
  18.    """
  19.     ticket_bet = {}
  20.     for bet in project_bets:
  21.         if bet['goal'] == u'%d' % ticket_number and is_estimate(bet):
  22.             ticket_bet.update(bet)
  23.             break
  24.     if not ticket_bet:
  25.         raise ValueError("No bet for given ticket number %d" % ticket_number)
  26.     return ticket_bet
  27.  
  28.  
  29. def get_ticket_link(bet):
  30.     """
  31.    Returns bets link for given ticket bet.
  32.    """
  33.     link = "http://bets.42cc.co/#/bet/%d" % bet['id']
  34.     return link
  35.  
  36.  
  37. def is_estimate(ticket_bet):
  38.     """
  39.    Checks if ticket bet type is 'estimate_ticket'.
  40.  
  41.    Used in get_ticket_bet.
  42.    """
  43.     return ticket_bet['type'] == 'estimate_ticket'
  44.  
  45.  
  46. def stakes_info(ticket_bet):
  47.     """
  48.    Returns total bet amount for each option.
  49.    """
  50.     stakes = {}
  51.     for side in ticket_bet['sides']:
  52.         stakes.update({ticket_bet['sides'][side]['name']: 0})
  53.  
  54.     for stake in ticket_bet['stakes']:
  55.         side_string = unicode(stake['side'])
  56.         stakes[ticket_bet['sides'][side_string]['name']] += \
  57.             Decimal(stake['amount'])
  58.     return stakes
  59.  
  60.  
  61. def is_bet_finished(bet):
  62.     """
  63.    Returns true if bet finished.
  64.    """
  65.     return not bet['winner'] is None
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement