diff --git a/main.py b/main.py index bbb9c09..8f92096 100644 --- a/main.py +++ b/main.py @@ -1,30 +1,22 @@ import pandas as pd -from datetime import datetime +from typing import Generator from pytz import timezone from dao.Database import Database -from data_model import MysqlConfig, OddsJamOrder, OddjamsBet +from data_model import MysqlConfig, OddsJamOrder, OddsjamBet -def generate_oddjams_bet(data: OddsJamOrder): +def generate_oddjams_bet(data: OddsJamOrder) -> Generator[OddsjamBet]: + # 根据 start_timestamp 是否小于当前时间两个小时判断要不要去看结果 # 怎么判断一个 oddjam order 是不是下单成功? bet_name = data.home_bet_name sport_books = data.home_sportsbooks if data.away_price > data.away_no_vig_price: bet_name = data.away_bet_name - sport_books = data.away_sportsbooks + sport_books = data.away_sportsbooks # 选 selected_sportsbook - market_name = data.market - sport = data.sport - league = data.league - game_id = data.game_id - notes = data.bet_id - bet_type = 'Normal' - event_name = '' - odds = 110 - stake = 1 + # 时区转换, mysql 中的 game start date 是 utc 时间? 这个不需要 - # 时区转换, mysql 中的 game start date 是 utc 时间? game_start_date = data.start_date my_datetime_with_tz = game_start_date.replace(tzinfo=timezone('UTC')) eastern = timezone('US/Eastern') @@ -32,19 +24,19 @@ def generate_oddjams_bet(data: OddsJamOrder): game_start_date = eastern_datetime.strftime('%m/%d/%Y, %H:%M EDT') for sport_book in sport_books: - yield OddjamsBet( + yield OddsjamBet( Sportsbook=sport_book, BetName=bet_name, - MarketName=market_name, - Odds=odds, - Stake=stake, - EventName=event_name, - Sport=sport, - League=league, - GameID=game_id, + MarketName=data.market, + Odds=110, # away price or home price + Stake=1, + EventName='', # home team vs away team 用这种格式, 需要带vs和两边的空格 + Sport=data.sport, + League=data.league, + GameID=data.game_id, GameStartDate=game_start_date, - BetType=bet_type, - Notes=notes + BetType='Positive EV', + Notes=data.bet_id ) @@ -58,11 +50,10 @@ if __name__ == '__main__': raw_data_list = dao.fetchall(query=select_query) order_data_list = [OddsJamOrder(**data) for data in raw_data_list] - bet_list = [] for order in order_data_list: bet_list.extend(list(generate_oddjams_bet(order))) - + bet_list = [data.model_dump() for data in bet_list] bet_df = pd.DataFrame(bet_list) bet_df.to_csv('bet.csv', index=False, encoding='utf-8-sig')