Update volume = 0 and stream url
Browse files
app.py
CHANGED
|
@@ -200,9 +200,9 @@ def verify_student_id(student_id):
|
|
| 200 |
global queue_counter
|
| 201 |
if not student_id:
|
| 202 |
return [
|
| 203 |
-
gr.update(interactive=False, value=
|
| 204 |
-
gr.update(interactive=False, value=
|
| 205 |
-
gr.update(interactive=False, value=
|
| 206 |
"Please enter a Student ID",
|
| 207 |
gr.update(interactive=False)
|
| 208 |
]
|
|
@@ -212,17 +212,17 @@ def verify_student_id(student_id):
|
|
| 212 |
|
| 213 |
if quota_remaining <= 0:
|
| 214 |
return [
|
| 215 |
-
gr.update(interactive=False, value=
|
| 216 |
-
gr.update(interactive=False, value=
|
| 217 |
-
gr.update(interactive=False, value=
|
| 218 |
"No experiments remaining. Please contact administrator.",
|
| 219 |
gr.update(interactive=False)
|
| 220 |
]
|
| 221 |
|
| 222 |
return [
|
| 223 |
-
gr.update(interactive=True, value=
|
| 224 |
-
gr.update(interactive=True, value=
|
| 225 |
-
gr.update(interactive=True, value=
|
| 226 |
f"Student ID verified. Available experiments: {quota_remaining}\nCurrent queue length: {queue_counter} experiment(s)",
|
| 227 |
gr.update(interactive=True)
|
| 228 |
]
|
|
@@ -419,9 +419,9 @@ with gr.Blocks(title="OT-2 Liquid Color Matching Experiment Queue") as demo:
|
|
| 419 |
)
|
| 420 |
verify_id_btn = gr.Button("Verify ID")
|
| 421 |
|
| 422 |
-
r_slider = gr.Slider(
|
| 423 |
-
y_slider = gr.Slider(
|
| 424 |
-
b_slider = gr.Slider(
|
| 425 |
status_output = gr.Textbox(label="Status")
|
| 426 |
submit_btn = gr.Button("Submit Experiment", interactive=False)
|
| 427 |
result_output = gr.JSON(label="Experiment Status")
|
|
@@ -436,7 +436,7 @@ with gr.Blocks(title="OT-2 Liquid Color Matching Experiment Queue") as demo:
|
|
| 436 |
<div style="position: relative; width: 100%; padding-top: 56.25%;">
|
| 437 |
<iframe
|
| 438 |
style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;"
|
| 439 |
-
src="https://www.youtube.com/embed/
|
| 440 |
title="OT-2 Livestream"
|
| 441 |
frameborder="0"
|
| 442 |
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
|
|
|
|
| 200 |
global queue_counter
|
| 201 |
if not student_id:
|
| 202 |
return [
|
| 203 |
+
gr.update(interactive=False, value=0),
|
| 204 |
+
gr.update(interactive=False, value=0),
|
| 205 |
+
gr.update(interactive=False, value=0),
|
| 206 |
"Please enter a Student ID",
|
| 207 |
gr.update(interactive=False)
|
| 208 |
]
|
|
|
|
| 212 |
|
| 213 |
if quota_remaining <= 0:
|
| 214 |
return [
|
| 215 |
+
gr.update(interactive=False, value=0),
|
| 216 |
+
gr.update(interactive=False, value=0),
|
| 217 |
+
gr.update(interactive=False, value=0),
|
| 218 |
"No experiments remaining. Please contact administrator.",
|
| 219 |
gr.update(interactive=False)
|
| 220 |
]
|
| 221 |
|
| 222 |
return [
|
| 223 |
+
gr.update(interactive=True, value=0),
|
| 224 |
+
gr.update(interactive=True, value=0),
|
| 225 |
+
gr.update(interactive=True, value=0),
|
| 226 |
f"Student ID verified. Available experiments: {quota_remaining}\nCurrent queue length: {queue_counter} experiment(s)",
|
| 227 |
gr.update(interactive=True)
|
| 228 |
]
|
|
|
|
| 419 |
)
|
| 420 |
verify_id_btn = gr.Button("Verify ID")
|
| 421 |
|
| 422 |
+
r_slider = gr.Slider(0, 300, step=1, label="Red (R) Volume (µL)", interactive=False)
|
| 423 |
+
y_slider = gr.Slider(0, 300, step=1, label="Yellow (Y) Volume (µL)", interactive=False)
|
| 424 |
+
b_slider = gr.Slider(0, 300, step=1, label="Blue (B) Volume (µL)", interactive=False)
|
| 425 |
status_output = gr.Textbox(label="Status")
|
| 426 |
submit_btn = gr.Button("Submit Experiment", interactive=False)
|
| 427 |
result_output = gr.JSON(label="Experiment Status")
|
|
|
|
| 436 |
<div style="position: relative; width: 100%; padding-top: 56.25%;">
|
| 437 |
<iframe
|
| 438 |
style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;"
|
| 439 |
+
src="https://www.youtube.com/embed/u-Q2OpheG14"
|
| 440 |
title="OT-2 Livestream"
|
| 441 |
frameborder="0"
|
| 442 |
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
|