dp changes

This commit is contained in:
s444417 2022-06-07 11:08:47 +02:00
parent 9d936403b4
commit ad5ce277e1

View File

@ -7,12 +7,14 @@ class DP:
systemAct = None systemAct = None
slotVal = None slotVal = None
if (lastUserAct == "request" | lastUserAct == "reqmore"):
# TODO policy for user request
return ["Cinema", "select", "", []]
if ((lastUserAct == "hello") | (lastUserAct == "inform") | (lastUserAct == None)): elif ((lastUserAct == "hello") | (lastUserAct == "inform") | (lastUserAct == None)):
# there are no empty slots # there are no empty slots
if not emptySlots: if not emptySlots:
# generate reservation id # TODO generate reservation id
systemAct = "inform" systemAct = "inform"
slotVal = systemSlots slotVal = systemSlots
# there are empty slots # there are empty slots
@ -22,9 +24,6 @@ class DP:
slotVal = slot slotVal = slot
break break
return ["Cinema", systemAct, slotVal, ""] return ["Cinema", systemAct, slotVal, ""]
elif (lastUserAct == "request" | lastUserAct == "reqmore"):
# TODO policy for user request
return ["Cinema", "select", "", ""]
else: else:
systemAct = "repeat" systemAct = "repeat"
return ["Cinema", systemAct, "", ""] return ["Cinema", systemAct, "", ""]
@ -55,7 +54,7 @@ class DBMock():
def __init__(self): def __init__(self):
self.shows = { self.shows = {
1: { 1: {
"title": "batman", "title": "Batman",
"date": "21.06", "date": "21.06",
"time": 19, "time": 19,
"seats": ["a1", "a2", "a3", "a4", "a5", "seats": ["a1", "a2", "a3", "a4", "a5",
@ -65,11 +64,12 @@ class DBMock():
"e1", "e2", "e3", "e4", "e5",], "e1", "e2", "e3", "e4", "e5",],
"free": ["a1", "a2", "free": ["a1", "a2",
"b2", "b3", "b4", "b2", "b3", "b4",
"d1", "d2", "d1", "d2",
"e1", "e2", "e3", "e4",], "e1", "e2", "e3", "e4",],
}, },
2: { 2: {
"title": "batman", "title": "Batman",
"date": "22.06", "date": "22.06",
"time": 20, "time": 20,
"seats": ["a1", "a2", "a3", "a4", "a5", "seats": ["a1", "a2", "a3", "a4", "a5",
@ -77,13 +77,14 @@ class DBMock():
"c1", "c2", "c3", "c4", "c5", "c1", "c2", "c3", "c4", "c5",
"d1", "d2", "d3", "d4", "d5", "d1", "d2", "d3", "d4", "d5",
"e1", "e2", "e3", "e4", "e5",], "e1", "e2", "e3", "e4", "e5",],
"free": ["a1", "a2", "a3", "free": ["a1", "a2", "a3", "a4", "a5",
"b2", "b3", "b4", "b1", "b2", "b3", "b4", "b5",
"d1", "d2", "c1", "c2", "c3", "c4", "c5",
"e1", "e2", "e3", "e4",], "d1", "d2", "d3", "d4", "d5",
"e1", "e2", "e3", "e4", "e5",],
}, },
3: { 3: {
"title": "zorro", "title": "Zorro",
"date": "23.06", "date": "23.06",
"time": 21, "time": 21,
"seats": ["a1", "a2", "a3", "a4", "a5", "seats": ["a1", "a2", "a3", "a4", "a5",
@ -98,6 +99,76 @@ class DBMock():
"e1", "e2", "e3", "e4", "e5",], "e1", "e2", "e3", "e4", "e5",],
} }
} }
self.reservations = {
1: {
'show': 1,
'seats': ['a3', 'a4', "a5"]
},
2: {
'show': 1,
'seats': ['b5']
},
3: {
'show': 1,
'seats': ['d3', 'd4', "d5"]
},
4: {
'show': 1,
'seats': ['e5']
},
5: {
'show': 1,
'seats': ['c1', 'c2', 'c3', 'c4', "c5"]
},
6: {
'show': 3,
'seats': ['a3', 'a4', "a5"]
},
7: {
'show': 3,
'seats': ['c1', 'c2', 'c3']
},
}
def getShows(self, title = None, time = None, timeInterval = None, date = None): def getShows(self, title = None, date = None, time = None,):
pass # title is None
if(title is None):
titles = []
for e in self.shows:
if (date is not None & time is not None):
if e["date"] == str(date):
if e["time"] == str(time):
titles.append([e["title"], e["date"]])
elif (date is not None & time is None):
if e["date"] == str(date):
titles.append([e["title"], e["date"]])
elif (date is None & time is not None):
if e["time"] == str(time):
titles.append([e["title"], e["date"]])
return set(titles)
# title is not None
elif(title is not None):
if(date is None):
dates = []
for e in self.shows:
if e["title"] == str(date):
dates.append(e["date"])
elif(date is not None):
if(time is None):
return set(titles)
# time slot is not None
elif(title is None & time is not None & date is None):
titles = []
for e in self.shows:
if e["time"] == str(time):
titles.append(e["title"], e["time"])
return set(titles)
elif(title is None & time is not None & date is None):
titles = []
for e in self.shows:
if e["time"] == str(time):
titles.append(e["title"], e["time"])
return set(titles)