Spaces:
Sleeping
Sleeping
# ======================== | |
# Google Sheets Integration | |
# ======================== | |
import json | |
import gspread | |
import os | |
import pandas as pd | |
from oauth2client.service_account import ServiceAccountCredentials | |
def connect_to_sheet(): | |
creds_dict = json.loads(os.environ["GOOGLE_CREDS_JSON"]) | |
scope = [ | |
"https://spreadsheets.google.com/feeds", | |
"https://www.googleapis.com/auth/spreadsheets", | |
"https://www.googleapis.com/auth/drive" | |
] | |
creds = ServiceAccountCredentials.from_json_keyfile_dict(creds_dict, scope) | |
client = gspread.authorize(creds) | |
sheet = client.open_by_key("109h0Yj8RmKEbWCj5TdJNXXbWhmaVH8o3r3q4_Pa50g8").sheet1 | |
return sheet | |
def append_score(timestamp, score, filename): | |
sheet = connect_to_sheet() | |
sheet.append_row([timestamp, score, filename]) | |
def fetch_leaderboard(): | |
sheet = connect_to_sheet() | |
data = sheet.get_all_records() | |
return pd.DataFrame(data) |