-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathstandup_analyzer.py
109 lines (83 loc) · 3.63 KB
/
standup_analyzer.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
import logging
import datetime as dt
from chatGPT import askGPT
from googleapiclient.errors import HttpError
from google_calendar_integration import *
def analyze_weekly_data():
creds = authorize_google_calendar()
if not creds or not creds.valid:
logging.error('Failed to obtain valid credentials for Google Calendar.')
return
service = build('calendar', 'v3', credentials=creds)
start_datetime = get_current_datetime_in_local_timezone() - dt.timedelta(days=8)
end_datetime = get_current_datetime_in_local_timezone() + dt.timedelta(hours=5)
try:
events_result = service.events().list(
calendarId=CALENDAR_ID,
timeMin=start_datetime.isoformat(),
timeMax=end_datetime.isoformat(),
maxResults=2500,
singleEvents=True,
orderBy='startTime'
).execute()
events = events_result.get('items', [])
if not events:
print('No events found for the past week.')
return
data = ''
for event in events:
summary = event.get('summary')
if(summary == 'DSM'):
description = event.get('description')
start_date = event.get('start').get('dateTime')
data += f"Event Start Time: {start_date}\n"
data += f"Event Description: {description}\n"
prompt = f"What are the areas of improvement for each employee individually to perform better based on the following DSM events be gender netural:\n{data}\n"
gpt_result = askGPT(prompt)
print("\nAreas of Improvement for Employees:")
print(gpt_result)
# answer user question
# input_question = input("\nDo you have any questions for me?\n")
# prompt = [f"\n{input_question}\n based on this data {data}\n"]
# gpt_result2 = askGPT(prompt)
# print("Answer:",gpt_result2)
return gpt_result
except HttpError as err:
logging.error('An error occurred while fetching events from Google Calendar: %s', err)
def askQuestion(question):
creds = authorize_google_calendar()
if not creds or not creds.valid:
logging.error('Failed to obtain valid credentials for Google Calendar.')
return
service = build('calendar', 'v3', credentials=creds)
start_datetime = get_current_datetime_in_local_timezone() - dt.timedelta(days=8)
end_datetime = get_current_datetime_in_local_timezone() + dt.timedelta(hours=5)
try:
events_result = service.events().list(
calendarId=CALENDAR_ID,
timeMin=start_datetime.isoformat(),
timeMax=end_datetime.isoformat(),
maxResults=2500,
singleEvents=True,
orderBy='startTime'
).execute()
events = events_result.get('items', [])
if not events:
print('No events found for the past week.')
return
data = ''
for event in events:
summary = event.get('summary')
if(summary == 'DSM'):
description = event.get('description')
start_date = event.get('start').get('dateTime')
data += f"Event Start Time: {start_date}\n"
data += f"Event Description: {description}\n"
# answer user question
prompt = [f"\n{question}\n based on this data {data}\n"]
gpt_result2 = askGPT(prompt)
return gpt_result2
except HttpError as err:
logging.error('An error occurred while fetching events from Google Calendar: %s', err)
# if __name__ == "__main__":
# analyze_weekly_data()