Abhlash commited on
Commit
611188d
·
verified ·
1 Parent(s): 82f67e8

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +33 -59
app.py CHANGED
@@ -1,70 +1,44 @@
1
  import gradio as gr
2
- from MathEngine import calculate, CalculationRequest
3
-
4
- # Gradio Interface
5
- def gradio_calculate(a, b, operation):
6
- request = CalculationRequest(a=a, b=b, operation=operation)
7
- response = calculate(request)
8
- return response["result"]
9
-
10
- def add(a, b):
11
- return gradio_calculate(a, b, "add")
12
-
13
- def subtract(a, b):
14
- return gradio_calculate(a, b, "subtract")
15
-
16
- def multiply(a, b):
17
- return gradio_calculate(a, b, "multiply")
18
-
19
- def divide(a, b):
20
- return gradio_calculate(a, b, "divide")
21
-
22
- with gr.Blocks() as demo:
23
- a = gr.Number(label="A")
24
- b = gr.Number(label="B")
25
- result = gr.Textbox(label="Result")
26
-
27
- with gr.Row():
28
- gr.Button("Add").click(add, inputs=[a, b], outputs=result)
29
- gr.Button("Subtract").click(subtract, inputs=[a, b], outputs=result)
30
- gr.Button("Multiply").click(multiply, inputs=[a, b], outputs=result)
31
- gr.Button("Divide").click(divide, inputs=[a, b], outputs=result)
32
-
33
- if __name__ == "__main__":
34
- demo.launch(share = True)
35
- import gradio as gr
36
- from main import calculate, CalculationRequest, app
37
  import uvicorn
38
 
39
  # Gradio Interface
 
 
40
  def gradio_calculate(a, b, operation):
41
  request = CalculationRequest(a=a, b=b, operation=operation)
42
  response = calculate(request)
43
- return response["result"]
44
-
45
- def add(a, b):
46
- return gradio_calculate(a, b, "add")
47
-
48
- def subtract(a, b):
49
- return gradio_calculate(a, b, "subtract")
50
-
51
- def multiply(a, b):
52
- return gradio_calculate(a, b, "multiply")
53
-
54
- def divide(a, b):
55
- return gradio_calculate(a, b, "divide")
56
-
57
- with gr.Blocks() as demo:
58
- a = gr.Number(label="A")
59
- b = gr.Number(label="B")
60
- result = gr.Textbox(label="Result")
61
-
62
- with gr.Row():
63
- gr.Button("Add").click(add, inputs=[a, b], outputs=result)
64
- gr.Button("Subtract").click(subtract, inputs=[a, b], outputs=result)
65
- gr.Button("Multiply").click(multiply, inputs=[a, b], outputs=result)
66
- gr.Button("Divide").click(divide, inputs=[a, b], outputs=result)
 
 
 
 
 
67
 
68
  if __name__ == "__main__":
 
69
  demo.launch()
70
  uvicorn.run(app, host="0.0.0.0", port=8000)
 
1
  import gradio as gr
2
+ from MathEngine import calculate, CalculationRequest, app
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  import uvicorn
4
 
5
  # Gradio Interface
6
+ history = []
7
+
8
  def gradio_calculate(a, b, operation):
9
  request = CalculationRequest(a=a, b=b, operation=operation)
10
  response = calculate(request)
11
+ result = response["result"]
12
+ history.append(f"{a} {operation} {b} = {result}")
13
+ return "\n".join(history)
14
+
15
+ def create_interface():
16
+ with gr.Blocks() as demo:
17
+ a = gr.Number(label="A")
18
+ b = gr.Number(label="B")
19
+ result = gr.Textbox(label="Result", lines=10, interactive=False)
20
+
21
+ with gr.Row():
22
+ gr.Button("0").click(lambda x: x + "0", inputs=result, outputs=result)
23
+ gr.Button("1").click(lambda x: x + "1", inputs=result, outputs=result)
24
+ gr.Button("2").click(lambda x: x + "2", inputs=result, outputs=result)
25
+ gr.Button("3").click(lambda x: x + "3", inputs=result, outputs=result)
26
+ gr.Button("4").click(lambda x: x + "4", inputs=result, outputs=result)
27
+ gr.Button("5").click(lambda x: x + "5", inputs=result, outputs=result)
28
+ gr.Button("6").click(lambda x: x + "6", inputs=result, outputs=result)
29
+ gr.Button("7").click(lambda x: x + "7", inputs=result, outputs=result)
30
+ gr.Button("8").click(lambda x: x + "8", inputs=result, outputs=result)
31
+ gr.Button("9").click(lambda x: x + "9", inputs=result, outputs=result)
32
+
33
+ with gr.Row():
34
+ gr.Button("Add").click(lambda a, b: gradio_calculate(a, b, "add"), inputs=[a, b], outputs=result)
35
+ gr.Button("Subtract").click(lambda a, b: gradio_calculate(a, b, "subtract"), inputs=[a, b], outputs=result)
36
+ gr.Button("Multiply").click(lambda a, b: gradio_calculate(a, b, "multiply"), inputs=[a, b], outputs=result)
37
+ gr.Button("Divide").click(lambda a, b: gradio_calculate(a, b, "divide"), inputs=[a, b], outputs=result)
38
+
39
+ return demo
40
 
41
  if __name__ == "__main__":
42
+ demo = create_interface()
43
  demo.launch()
44
  uvicorn.run(app, host="0.0.0.0", port=8000)