-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathfetch.py
54 lines (41 loc) · 1.35 KB
/
fetch.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 urllib2 #change to python3
import json
import datetime
# jsonData = urllib2.urlopen("https://nusmods.com/api/2017-2018/2/venueInformation.json").read()
# venueInfo = json.loads(jsonData)
venueInfo = json.load(open('venueinformation.json'))
# print(venueInfo)
def findRoom(room):
if room in venueInfo:
return venueInfo[room]
else:
print("Invalid room")
return "Invalid room"
def findDay(weekday, rooms):
# check if it is sunday
if weekday == 6:
day = rooms[0]
availability = day["Availability"]
return availability
day = rooms[weekday]
availability = day["Availability"]
return availability
def findTiming(timing, availability):
if timing in availability:
return availability[timing]
else:
print("Invalid timing")
return "Invalid timing"
def findRoomState(roomInput, timing):
room = findRoom(roomInput)
now = datetime.datetime.now()
availability = findDay(now.weekday(), room)
roomState = findTiming(timing, availability)
while int(timing) < 2330:
timing = int(timing) + 30
if timing % 100 == 60:
timing = timing - 60 + 100
if roomState != findTiming(str(timing), availability):
break
return str(roomState + ' until ' + str(timing))
# print(findRoomState("COM1-0203", "1300"))