-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathjson_handler.py
More file actions
102 lines (80 loc) · 3.23 KB
/
json_handler.py
File metadata and controls
102 lines (80 loc) · 3.23 KB
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
from datetime import datetime
from tkinter import Widget
from util import toDateString, getTimeString
from Event import *
import shortuuid
import json
def loadDayEvents(date: datetime.datetime):
with open('event_data.json', 'r') as in_file:
allData = json.load(in_file)
try:
loadData = allData[toDateString(date)]['events']
retData = []
for obj in loadData:
retData.append(
Event(name=obj["name"], description=obj["description"], start=obj["start"], end=obj["end"], actualStart=obj["actualStart"], actualEnd=obj["actualEnd"], eventType=obj["eventType"], fromGoogle=obj["fromGoogle"], existingUUID=obj["existingUUID"]))
return retData
except:
return []
def updateJSON(event: Event, currentDate):
export_event = {
"existingUUID": event.uuid,
"name": event.name,
"description": event.description,
"eventType": event.eventType,
"start": getTimeString(event.start),
"end": getTimeString(event.end),
"actualStart": getTimeString(event.actualStart),
"actualEnd": getTimeString(event.actualEnd),
"fromGoogle": event.fromGoogle,
}
with open('event_data.json', 'r') as in_file:
data = json.load(in_file)
if not (toDateString(currentDate) in data):
data[toDateString(currentDate)] = {"events": []}
eventObjects = data[toDateString(currentDate)]['events']
for obj in eventObjects:
print(obj)
print(export_event)
if obj["existingUUID"] == export_event["existingUUID"]:
eventObjects.remove(obj)
eventObjects.append(export_event)
break
with open('event_data.json', 'w') as out_file:
json.dump(data, out_file, indent=4)
def new_event(event, currentDate):
export_event = {
"existingUUID": event.uuid,
"name": event.name,
"description": event.description,
"eventType": event.eventType,
"start": getTimeString(event.start),
"end": getTimeString(event.end),
"actualStart": getTimeString(event.actualStart),
"actualEnd": getTimeString(event.actualEnd),
"fromGoogle": event.fromGoogle,
}
with open('event_data.json', 'r') as in_file:
data = json.load(in_file)
if not (toDateString(currentDate) in data):
data[toDateString(currentDate)] = {"events": []}
eventObjects = data[toDateString(currentDate)]['events']
eventObjects.append(export_event)
with open('event_data.json', 'w') as out_file:
json.dump(data, out_file, indent=4)
def delete_event(event, currentDate):
matchUUID = event.uuid
with open('event_data.json', 'r') as in_file:
data = json.load(in_file)
if not (toDateString(currentDate) in data):
return
print("pre-del", data)
eventObjects = data[toDateString(currentDate)]['events']
for obj in eventObjects:
if obj["existingUUID"] == matchUUID:
print("found")
eventObjects.remove(obj)
break
print("post-del", data)
with open('event_data.json', 'w') as out_file:
json.dump(data, out_file, indent=4)