CoolFace
Apppublic

Chittrarasu/Cricket-match-prediction-FastAPI

sourceHugging Faceupdated 2y agoView on Hugging Face
0likes
routers.py64 linesDownload Raw Back to root
1from fastapi import APIRouter, HTTPException2from services import (3    get_player_stats,4    get_team_stats,5    get_match_history,6    get_teams,7    get_players,8    get_seasons,9    predict_score,10    predict_team_outcome,11    get_team_trends,  # New function for team trends12    get_player_trends,  # New function for player trends13)14 15router = APIRouter()16 17@router.get("/player-stats/")18async def player_statistics(player_name: str, season: str = None, role: str = "Batting"):19    # Validate role parameter20    if role not in ["Batting", "Bowling"]:21        raise HTTPException(status_code=400, detail="Role must be 'Batting' or 'Bowling'")22    return get_player_stats(player_name, season, role)23 24@router.get("/team-stats/")25async def team_statistics(team_name: str, season: str = None):26    return get_team_stats(team_name, season)27 28@router.get("/match-history/")29async def match_history(team1: str, team2: str, season: str = None):30    # Update get_match_history to handle two teams31    return get_match_history(team1, team2, season)32 33@router.get("/teams")34async def teams():35    return get_teams()36 37@router.get("/players")38async def players():39    return get_players()40 41@router.get("/seasons")42async def seasons():43    return get_seasons()44 45@router.get("/predict-score/")46async def predict_player_score_endpoint(player_name: str, opposition_team: str):47    return predict_score(player_name, opposition_team)48 49@router.get("/predict-team-outcome/")50async def predict_team_outcome_endpoint(team1: str, team2: str):51    return predict_team_outcome(team1, team2)52 53# New endpoint for team trends over time54@router.get("/team-trends/")55async def team_trends(team_name: str):56    return get_team_trends(team_name)57 58# New endpoint for player trends over time59@router.get("/player-trends/")60async def player_trends(player_name: str, role: str = "Batting"):61    # Validate role parameter62    if role not in ["Batting", "Bowling"]:63        raise HTTPException(status_code=400, detail="Role must be 'Batting' or 'Bowling'")64    return get_player_trends(player_name, role)