Skip to content

Commit 442e788

Browse files
committed
almost done
1 parent e7c06b4 commit 442e788

File tree

10 files changed

+290
-96
lines changed

10 files changed

+290
-96
lines changed

Algo/final.py

Whitespace-only changes.

app.py

Lines changed: 181 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,181 @@
1+
from flask import Flask, render_template, request, jsonify, redirect
2+
from itertools import combinations
3+
4+
app = Flask(__name__)
5+
6+
7+
insideTarama = []
8+
inqueue = []
9+
currentstatus = []
10+
insideTarama1 = []
11+
inqueue1 = []
12+
currentstatus1 = []
13+
t = []
14+
q = []
15+
16+
@app.route('/')
17+
def index():
18+
return render_template('home.html')
19+
20+
@app.route('/fillinsidetarama', methods = ['GET', 'POST'])
21+
def hello():
22+
insideTarama.clear()
23+
currentstatus.clear()
24+
if(request.method == 'POST'):
25+
t.append(request.form.get("zero"))
26+
t.append(request.form.get("one"))
27+
t.append(request.form.get("two"))
28+
t.append(request.form.get("three"))
29+
t.append(request.form.get("four"))
30+
return redirect('/fillinqueue')
31+
return render_template('TaramaVacant.html')
32+
33+
34+
@app.route('/fillinqueue', methods = ['GET', 'POST'])
35+
def fill():
36+
inqueue.clear()
37+
if(request.method == 'POST'):
38+
q.append(request.form.get("zero"))
39+
q.append(request.form.get("one"))
40+
q.append(request.form.get("two"))
41+
q.append(request.form.get("three"))
42+
q.append(request.form.get("four"))
43+
return redirect('/answers')
44+
return render_template('TaramaWaiting.html')
45+
46+
@app.route('/answers')
47+
def display():
48+
for i in range(0, len(q)):
49+
inqueue.insert(i, int(q[i]))
50+
for i in range(0, len(t)):
51+
insideTarama.insert(i, int(t[i]))
52+
for i in range(0, len(t)):
53+
currentstatus.insert(i, insideTarama[i])
54+
55+
for i in range(0, len(q)):
56+
inqueue1.insert(i, int(q[i]))
57+
for i in range(0, len(t)):
58+
insideTarama1.insert(i, int(t[i]))
59+
for i in range(0, len(t)):
60+
currentstatus1.insert(i, insideTarama[i])
61+
62+
63+
result = []
64+
result.append(insideTarama1)
65+
result.append(inqueue1)
66+
def unique(list1):
67+
list_set = set(list1)
68+
unique_list = (list(list_set))
69+
return unique_list
70+
71+
def mini(arr):
72+
for i in range(0, len(arr)):
73+
if(arr[i] != 0):
74+
return arr[i]
75+
76+
def minii(arr):
77+
for i in range(0, len(arr)):
78+
if(arr[i] != -1):
79+
return arr[i]
80+
81+
def bubble(arr, b):
82+
n = len(arr)
83+
84+
for i in range(n-1):
85+
for j in range(0, n-i-1):
86+
if arr[j] > arr[j+1] :
87+
arr[j], arr[j+1] = arr[j+1], arr[j]
88+
b[j], b[j+1] = b[j+1], b[j]
89+
90+
capacity = 30
91+
replacedpos = []
92+
l = []
93+
l1 = []
94+
sumele = []
95+
waiting = []
96+
97+
98+
def schedulecheck():
99+
100+
waitingtime = 0
101+
bubble(insideTarama, currentstatus)
102+
103+
104+
105+
Vacancy = capacity - sum(insideTarama)
106+
107+
108+
while(True):
109+
bubble(insideTarama, currentstatus)
110+
111+
112+
temp = 0
113+
for i in range(0, len(inqueue)):
114+
if(Vacancy < minii(inqueue) or Vacancy == 0):
115+
temp = mini(currentstatus)
116+
waitingtime += temp
117+
for j in range(0, len(insideTarama)):
118+
if(currentstatus[j] >= temp):
119+
currentstatus[j] -= temp
120+
else:
121+
currentstatus[j] = 0
122+
for j in range(0, len(currentstatus)):
123+
if(currentstatus[j] == 0):
124+
Vacancy += insideTarama[j]
125+
insideTarama[j] = 0
126+
replacedpos.append(j)
127+
else:
128+
break
129+
for i in range(len(inqueue), 0, -1):
130+
comb = combinations(inqueue, i)
131+
for j in comb:
132+
if(sum(j) <= Vacancy):
133+
l1.append(j)
134+
sumele.append(sum(j))
135+
136+
bubble(sumele, l1)
137+
138+
139+
Vacancy -= sumele[len(sumele) - 1]
140+
insideTarama.extend(list(l1[len(l1) - 1]))
141+
currentstatus.extend(list(l1[len(l1) - 1]))
142+
143+
for i in range(0, len(unique(replacedpos))):
144+
unique(replacedpos)[i] -= i
145+
insideTarama.pop(unique(replacedpos)[i] - i)
146+
currentstatus.pop(unique(replacedpos)[i] - i)
147+
148+
replacedpos.clear()
149+
150+
151+
for i in range(0, len(l1[-1])):
152+
waiting.insert(inqueue1.index(l1[-1][i]), waitingtime)
153+
inqueue.pop(inqueue.index(l1[-1][i]))
154+
155+
# result.append({
156+
# 'waiting': waiting
157+
# })
158+
159+
bubble(insideTarama, currentstatus)
160+
161+
162+
163+
l1.clear()
164+
sumele.clear()
165+
if(len(inqueue) == 0):
166+
break
167+
168+
169+
schedulecheck()
170+
result.append(waiting[0])
171+
result.append(waiting[1])
172+
result.append(waiting[2])
173+
result.append(waiting[3])
174+
result.append(waiting[4])
175+
176+
177+
return render_template('Report.html', result=result)
178+
179+
180+
if __name__ == '__main__':
181+
app.run(debug=True)
File renamed without changes.
File renamed without changes.
File renamed without changes.

Report.html renamed to templates/Report.html

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous">
1313
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
1414
integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
15-
<link rel="stylesheet" href="style.css">
16-
<title>Final Waiting Time</title>
15+
<link rel="stylesheet" href="{{ url_for('static', filename='style.css')}}" type="text/css">
16+
<title>Final Waiting Time</title>
1717
</head>
1818

1919
<body>
@@ -34,23 +34,25 @@
3434
Inside Tarama
3535
</div>
3636
<div class="col-sm-6">
37-
<input type="number" name="" id="">
37+
<input type="text" name="zero" id="" multiple
38+
value={{result[0][0]}},{{result[0][1]}},{{result[0][2]}},{{result[0][3]}},{{result[0][4]}}>
3839
</div>
3940
</div>
4041
<div class="row inputCustom">
4142
<div class="col-sm-6 text-center">
4243
Waiting Line
4344
</div>
4445
<div class="col-sm-6">
45-
<input type="number" name="" id="">
46+
<input type="text" name="one" id=""
47+
value={{result[1][0]}},{{result[1][1]}},{{result[1][2]}},{{result[1][3]}},{{result[1][4]}}>
4648
</div>
4749
</div>
4850
<div class="row inputCustom">
4951
<div class="col-sm-6 text-center">
5052
Group 0:
5153
</div>
5254
<div class="col-sm-6">
53-
<input type="number" name="" id="">
55+
<input type="number" name="two" id="" value={{result[2]}}>
5456
</div>
5557
</div>
5658

@@ -59,7 +61,7 @@
5961
Group 1:
6062
</div>
6163
<div class="col-sm-6">
62-
<input type="number" name="" id="">
64+
<input type="number" name="three" id="" value={{result[3]}}>
6365
</div>
6466
</div>
6567

@@ -68,7 +70,7 @@
6870
Group 2:
6971
</div>
7072
<div class="col-sm-6">
71-
<input type="number" name="" id="">
73+
<input type="number" name="four" id="" value={{result[4]}}>
7274
</div>
7375
</div>
7476

@@ -77,7 +79,7 @@
7779
Group 3:
7880
</div>
7981
<div class="col-sm-6">
80-
<input type="number" name="" id="">
82+
<input type="number" name="five" id="" value={{result[5]}}>
8183
</div>
8284
</div>
8385

@@ -86,7 +88,7 @@
8688
Group 4:
8789
</div>
8890
<div class="col-sm-6">
89-
<input type="number" name="" id="">
91+
<input type="number" name="six" id="" value={{result[6]}}>
9092
</div>
9193
</div>
9294

TaramaVacant.html renamed to templates/TaramaVacant.html

Lines changed: 44 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous">
1313
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
1414
integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
15-
<link rel="stylesheet" href="style.css">
16-
<title>Come on in 🤩</title>
15+
<link rel="stylesheet" href="{{ url_for('static', filename='style.css')}}" type="text/css">
16+
<title>Come on in 🤩</title>
1717
</head>
1818

1919
<body>
@@ -27,55 +27,58 @@
2727
<div class="container">
2828
<div class="dashboardCard">
2929
<div class="card-body text-center ">
30-
<div class="mb-2"><span style="font-size: 1.7rem; font-family: 'Poppins';">Restaurant Status =</span> <span class="capacityCount">30</span></div>
31-
<div class="row inputCustom">
32-
<div class="col-sm-6 text-center">
33-
Arrival Time 0:
30+
<form action="", method="POST">
31+
<div class="mb-2"><span style="font-size: 1.7rem; font-family: 'Poppins';">Restaurant Status =</span> <span class="capacityCount">30</span></div>
32+
<div class="row inputCustom">
33+
<div class="col-sm-6 text-center">
34+
Arrival Time 0:
35+
</div>
36+
<div class="col-sm-6">
37+
<input type="number" name="zero" id="">
38+
</div>
3439
</div>
35-
<div class="col-sm-6">
36-
<input type="number" name="" id="">
37-
</div>
38-
</div>
3940

40-
<div class="row inputCustom">
41-
<div class="col-sm-6 text-center">
42-
Arrival Time 1:
43-
</div>
44-
<div class="col-sm-6">
45-
<input type="number" name="" id="">
41+
<div class="row inputCustom">
42+
<div class="col-sm-6 text-center">
43+
Arrival Time 1:
44+
</div>
45+
<div class="col-sm-6">
46+
<input type="number" name="one" id="">
47+
</div>
4648
</div>
47-
</div>
4849

49-
<div class="row inputCustom">
50-
<div class="col-sm-6 text-center">
51-
Arrival Time 2:
52-
</div>
53-
<div class="col-sm-6">
54-
<input type="number" name="" id="">
50+
<div class="row inputCustom">
51+
<div class="col-sm-6 text-center">
52+
Arrival Time 2:
53+
</div>
54+
<div class="col-sm-6">
55+
<input type="number" name="two" id="">
56+
</div>
5557
</div>
56-
</div>
5758

58-
<div class="row inputCustom">
59-
<div class="col-sm-6 text-center">
60-
Arrival Time 3:
59+
<div class="row inputCustom">
60+
<div class="col-sm-6 text-center">
61+
Arrival Time 3:
62+
</div>
63+
<div class="col-sm-6">
64+
<input type="number" name="three" id="">
65+
</div>
6166
</div>
62-
<div class="col-sm-6">
63-
<input type="number" name="" id="">
64-
</div>
65-
</div>
6667

67-
<div class="row inputCustom">
68-
<div class="col-sm-6 text-center">
69-
Arrival Time 4:
70-
</div>
71-
<div class="col-sm-6">
72-
<input type="number" name="" id="">
68+
<div class="row inputCustom">
69+
<div class="col-sm-6 text-center">
70+
Arrival Time 4:
71+
</div>
72+
<div class="col-sm-6">
73+
<input type="number" name="four" id="">
74+
</div>
7375
</div>
74-
</div>
7576

76-
<div style="text-align: center; margin-top: .8rem;">
77-
<a href="TaramaWaiting.html" class="btn btn-primary btn-lg getStarted">Fill Waiting Now</a>
78-
</div>
77+
<div style="text-align: center; margin-top: .8rem;">
78+
<button class="btn btn-primary btn-lg getStarted">Submit</button>
79+
</div>
80+
</form>
81+
7982
</div>
8083
</div>
8184
</div>

0 commit comments

Comments
 (0)