rairo commited on
Commit
3d6f9f1
·
verified ·
1 Parent(s): dfec258

Update main.py

Browse files
Files changed (1) hide show
  1. main.py +7 -3
main.py CHANGED
@@ -7,7 +7,7 @@ import tempfile
7
  import requests
8
  import json
9
  import pandas as pd
10
- import numpy as np
11
  from datetime import datetime, timedelta # Import timedelta for daily refresh logic
12
  from flask import Flask, request, jsonify, send_file
13
  from flask_cors import CORS, cross_origin
@@ -579,7 +579,8 @@ def parse_table(html, table_id=None):
579
  return pd.DataFrame()
580
 
581
  try:
582
- return pd.read_html(tbl_html)[0]
 
583
  except ValueError:
584
  logging.warning("No tables found in the provided HTML string for parsing.")
585
  return pd.DataFrame()
@@ -704,6 +705,9 @@ def _scrape_team_stats_bs(year):
704
  if col not in non_numeric_cols:
705
  df[col] = pd.to_numeric(df[col], errors="coerce")
706
 
 
 
 
707
  return df
708
 
709
  # BRScraper Data Fetching Utilities (for players)
@@ -815,7 +819,7 @@ def ask_perp(prompt, system="You are a helpful NBA analyst AI.", max_tokens=500,
815
  return "Perplexity API key is not configured."
816
  hdr = {'Authorization':f'Bearer {PERP_KEY}','Content-Type':'application/json'}
817
  payload = {
818
- "model":"sonar-medium-online",
819
  "messages":[{"role":"system","content":system},{"role":"user","content":prompt}],
820
  "max_tokens":max_tokens, "temperature":temp
821
  }
 
7
  import requests
8
  import json
9
  import pandas as pd
10
+ import numpy as np # Added for np.nan
11
  from datetime import datetime, timedelta # Import timedelta for daily refresh logic
12
  from flask import Flask, request, jsonify, send_file
13
  from flask_cors import CORS, cross_origin
 
579
  return pd.DataFrame()
580
 
581
  try:
582
+ # FIX 1: Wrap tbl_html in io.StringIO
583
+ return pd.read_html(io.StringIO(tbl_html))[0]
584
  except ValueError:
585
  logging.warning("No tables found in the provided HTML string for parsing.")
586
  return pd.DataFrame()
 
705
  if col not in non_numeric_cols:
706
  df[col] = pd.to_numeric(df[col], errors="coerce")
707
 
708
+ # FIX 2: Replace NaN values with None for JSON compliance
709
+ df = df.replace({np.nan: None})
710
+
711
  return df
712
 
713
  # BRScraper Data Fetching Utilities (for players)
 
819
  return "Perplexity API key is not configured."
820
  hdr = {'Authorization':f'Bearer {PERP_KEY}','Content-Type':'application/json'}
821
  payload = {
822
+ "model":"sonar-pro", # do not change
823
  "messages":[{"role":"system","content":system},{"role":"user","content":prompt}],
824
  "max_tokens":max_tokens, "temperature":temp
825
  }