forked from kolgas/googleCalNewsletter
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathtemplate.py
53 lines (37 loc) · 1.58 KB
/
template.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
import string
import dateutil.parser
class MailTemplate:
def __init__(self, events, template="eventTemplate.html"):
self.events = events
self.template = template
def new_message(self):
events = self.events
template = open('eventTemplate.html', "r", encoding="utf-8").read()
event_list = []
if not events:
print('No upcoming events found.')
for event in events:
event_dict = dict()
event_dict['start'] = event['start'].get('dateTime', event['start'].get('date'))
event_dict['start'] = dateutil.parser.parse(event_dict['start']).strftime("%d %b %Y %H:%M:%S")
event_dict['end'] = event['end'].get('dateTime', event['end'].get('date'))
event_dict['end'] = dateutil.parser.parse(event_dict['end']).strftime("%d %b %Y %H:%M:%S")
try:
event_dict['description'] = event['description']
except KeyError:
event_dict['description'] = "Puudu"
try:
event_dict['summary'] = event['summary']
except KeyError:
event_dict['summary'] = "Puudu"
try:
event_dict['location'] = event['location']
except KeyError:
event_dict['location'] = "Teadmata"
event_list.append(event_dict)
tpl = string.Template(template)
events2mail = []
for event in event_list:
events2mail.append(tpl.substitute(event))
events_merged = ''.join(events2mail)
return events_merged