chandra7799 commited on
Commit
094ed21
·
verified ·
1 Parent(s): 33d8a68

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +18 -32
app.py CHANGED
@@ -1,40 +1,26 @@
1
- from flask import Flask, render_template, request, jsonify
2
  import time
3
- import threading
4
 
5
- app = Flask(__name__)
6
-
7
- # Global variable to store the message
8
- message = ""
9
-
10
- # Timer function to run in a background thread
11
  def start_timer(seconds):
12
- global message
13
  for remaining in range(seconds, 0, -1):
14
  time.sleep(1) # Wait for 1 second
15
- message = f"{remaining} seconds remaining..."
16
- message = "Time's up!"
17
-
18
- @app.route('/')
19
- def index():
20
- return render_template('index.html')
21
 
22
- @app.route('/start_timer', methods=['POST'])
23
- def start_timer_route():
24
- try:
25
- seconds = int(request.form['seconds'])
 
 
 
26
 
27
- # Start the timer in a new thread
28
- timer_thread = threading.Thread(target=start_timer, args=(seconds,))
29
- timer_thread.start()
30
-
31
- return jsonify({"message": "Timer started"})
32
- except Exception as e:
33
- return jsonify({"error": str(e)}), 400
34
-
35
- @app.route('/get_timer', methods=['GET'])
36
- def get_timer():
37
- return jsonify({"message": message})
38
 
39
- if __name__ == '__main__':
40
- app.run(debug=True, threaded=True)
 
1
+ import gradio as gr
2
  import time
 
3
 
4
+ # Timer function
 
 
 
 
 
5
  def start_timer(seconds):
6
+ # Countdown loop
7
  for remaining in range(seconds, 0, -1):
8
  time.sleep(1) # Wait for 1 second
9
+ yield f"{remaining} seconds remaining..."
10
+ return "Time's up!"
 
 
 
 
11
 
12
+ # Create Gradio interface
13
+ with gr.Blocks() as demo:
14
+ gr.Markdown("## Timer App") # Display the header for the page
15
+
16
+ with gr.Row():
17
+ time_input = gr.Slider(minimum=1, maximum=600, step=1, label="Set Timer (seconds)")
18
+ start_button = gr.Button("Start Timer") # Button to start timer
19
 
20
+ timer_output = gr.Textbox(label="Timer Output", interactive=False)
21
+
22
+ # Connect the button with the timer function
23
+ start_button.click(start_timer, inputs=time_input, outputs=timer_output)
 
 
 
 
 
 
 
24
 
25
+ # Launch the Gradio interface
26
+ demo.launch()