Spaces:
Running
Running
import streamlit as st | |
from google.oauth2.credentials import Credentials | |
from google_auth_oauthlib.flow import InstalledAppFlow | |
from googleapiclient.discovery import build | |
from datetime import datetime, timedelta | |
def add_to_google_calendar(symbol, company_name): | |
"""Add analysis review event to Google Calendar""" | |
creds = Credentials.from_authorized_user_info(st.secrets["google"]) | |
service = build('calendar', 'v3', credentials=creds) | |
event = { | |
'summary': f'Stock Analysis Review - {symbol}', | |
'description': f'Review financial analysis for {company_name}', | |
'start': { | |
'dateTime': (datetime.now() + timedelta(days=1)).isoformat(), | |
'timeZone': 'UTC', | |
}, | |
'end': { | |
'dateTime': (datetime.now() + timedelta(days=1, hours=1)).isoformat(), | |
'timeZone': 'UTC', | |
}, | |
} | |
service.events().insert(calendarId='primary', body=event).execute() | |
def update_google_sheet(stock_data, symbol): | |
"""Export stock data to Google Sheets""" | |
creds = Credentials.from_authorized_user_info(st.secrets["google"]) | |
service = build('sheets', 'v4', credentials=creds) | |
spreadsheet_id = st.secrets["google_sheet_id"] | |
range_name = f'{symbol}!A1' | |
values = [stock_data.columns.tolist()] + stock_data.reset_index().values.tolist() | |
body = {'values': values} | |
service.spreadsheets().values().update( | |
spreadsheetId=spreadsheet_id, | |
range=range_name, | |
valueInputOption='RAW', | |
body=body | |
).execute() |