Spaces:
Build error
Build error
| #calendar_reader.py | |
| from google.oauth2.credentials import Credentials | |
| from googleapiclient.discovery import build | |
| import datetime | |
| import pytz | |
| from smolagents import tool | |
| def get_todays_events() -> list[str]: | |
| """ | |
| Get today's events from Google Calendar in formatted string form. | |
| Returns a list of event descriptions for the current day. | |
| """ | |
| creds = Credentials.from_authorized_user_file('data/token.json',['https://www.googleapis.com/auth/calendar.readonly']) | |
| service = build('calendar', 'v3', credentials=creds) | |
| now = datetime.datetime.now(pytz.timezone("Europe/Istanbul")) | |
| start_of_day = now.replace(hour=0, minute=0, second=0, microsecond=0) | |
| end_of_day = now.replace(hour=23, minute=59, second=59, microsecond=999999) | |
| events_result = service.events().list( | |
| calendarId='primary', | |
| timeMin=start_of_day.isoformat(), | |
| timeMax=end_of_day.isoformat(), | |
| singleEvents=True, | |
| orderBy='startTime' | |
| ).execute() | |
| events = events_result.get('items', []) | |
| unique = set() | |
| formatted_events = [] | |
| for event in events: | |
| summary = event.get('summary', 'İsimsiz Etkinlik') | |
| start = event['start'].get('dateTime') | |
| end = event['end'].get('dateTime') | |
| if not start or not end: | |
| continue # tüm günlük veya eksik bilgiler varsa geç | |
| if (summary, start) in unique: | |
| continue # yinelenenleri atla | |
| unique.add((summary, start)) | |
| start_dt = datetime.datetime.fromisoformat(start) | |
| end_dt = datetime.datetime.fromisoformat(end) | |
| formatted = f"{summary}. ({start_dt.strftime('%H : %M')} - {end_dt.strftime('%H : %M')} / {start_dt.strftime('%d - %m - %Y')})" | |
| formatted_events.append(formatted) | |
| return formatted_events |