-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtemplate.py
129 lines (100 loc) · 3.38 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
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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
from datetime import datetime
from uuid import uuid4
class Booking:
import datetime
import uuid
def __init__(self, user='user', room='room', beginTime=datetime.datetime.now(), endTime=datetime.datetime.now(), bookingId=uuid.uuid4()):
self.bookingId=bookingId
self.user = user
self.room = room
self.beginTime = beginTime
self.endTime = endTime
self.status = "booked"
self.desc = ""
def findBooking(self, bookingId):
if self.bookingId == bookingId:
return True
else:
return False
def overrideBooking(self, user):
if user.printRank() > self.user.printRank():
self.status = 0
return 1
else:
return 0
def printBooking(self):
print("booking for",self.user,"\nroom:",self.room,"\ntime:",self.beginTime,"-",self.endTime,"\nstatus:",self.status,"\ndescription:",self.desc)
def getBookingId(self):
return self.bookingId
def getStatus(self):
return self.status
def getTime(self):
return (self.beginTime, self.endTime)
def getBeginTime(self):
return self.beginTime
def getEndTime(self):
return self.endTime
def getUser(self):
return self.user
def getRoom(self):
return self.room
def getDesc(self):
return self.desc
class User:
def __init__(self, uid='user', pwd='user', rank=1):
self.uid = uid
self.pwd = pwd
self.rank = rank
def getId(self):
return self.uid
def getRank(self):
return self.rank
def getPwd(self):
return self.pwd
def pwdCheck(self, pwd):
if(self.pwd == pwd):
return True
else:
return False
def printUser(self):
print ("id: ", self.uid,"\npwd: ", self.pwd, "\nrank:", self.rank)
class BookingList:
def __init__(self, name, list=[Booking()]):
self.list = list
self.name = name
def getName(self):
return self.name
def getList(self):
return self.list
def sortBooking(self):
self.list.sort(key=getTime())
def nextBooking(self):
for i in self.list:
if i.beginTime > datetime.datetime.now():
return (i)
def incomingBooking(self):
nextBookingList = []
for i in self.list:
if i.beginTime > datetime.datetime.now():
nextBookingList.append(i)
return nextBookingList
def myNextBooking(self, user=User()):
for i in self.list:
if i.beginTime > datetime.datetime.now() and i.getUser == user:
return (i)
def myIncomingBooking(self, user=User()):
nextBookingList = []
for i in self.list:
if i.beginTime > datetime.datetime.now() and i.getUser == user:
nextBookingList.append(i)
return nextBookingList
def addBooking(self, booking=Booking()):
self.list.append(booking)
'''
bookingTime = booking.getBeginTime()
for i in range(0, len(self.list)):
selfTime = self.list[i].getBeginTime()
if selfTime > bookingTime:
self.list.insert(i, booking)
break
'''