Ajay98 commited on
Commit
1816620
·
verified ·
1 Parent(s): 5d3e3e8

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +40 -24
app.py CHANGED
@@ -1,8 +1,6 @@
1
- from flask import Flask, render_template, request, redirect, url_for
2
  import sqlite3
3
 
4
- app = Flask(__name__)
5
-
6
  # Database setup
7
  def init_db():
8
  conn = sqlite3.connect('inventory.db')
@@ -18,49 +16,67 @@ def init_db():
18
 
19
  init_db()
20
 
21
- @app.route('/')
22
- def index():
23
  conn = sqlite3.connect('inventory.db')
24
  cursor = conn.cursor()
25
  cursor.execute("SELECT * FROM inventory")
26
  items = cursor.fetchall()
27
  conn.close()
28
- return render_template('index.html', items=items)
29
 
30
- @app.route('/add', methods=['POST'])
31
- def add_item():
32
- name = request.form['name']
33
- quantity = request.form['quantity']
34
- price = request.form['price']
35
-
36
  conn = sqlite3.connect('inventory.db')
37
  cursor = conn.cursor()
38
  cursor.execute("INSERT INTO inventory (name, quantity, price) VALUES (?, ?, ?)", (name, quantity, price))
39
  conn.commit()
40
  conn.close()
41
- return redirect(url_for('index'))
42
 
43
- @app.route('/delete/<int:item_id>')
44
  def delete_item(item_id):
45
  conn = sqlite3.connect('inventory.db')
46
  cursor = conn.cursor()
47
  cursor.execute("DELETE FROM inventory WHERE id = ?", (item_id,))
48
  conn.commit()
49
  conn.close()
50
- return redirect(url_for('index'))
51
 
52
- @app.route('/update/<int:item_id>', methods=['POST'])
53
- def update_item(item_id):
54
- name = request.form['name']
55
- quantity = request.form['quantity']
56
- price = request.form['price']
57
-
58
  conn = sqlite3.connect('inventory.db')
59
  cursor = conn.cursor()
60
  cursor.execute("UPDATE inventory SET name = ?, quantity = ?, price = ? WHERE id = ?", (name, quantity, price, item_id))
61
  conn.commit()
62
  conn.close()
63
- return redirect(url_for('index'))
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
64
 
65
- if __name__ == '__main__':
66
- app.run(debug=True)
 
1
+ import gradio as gr
2
  import sqlite3
3
 
 
 
4
  # Database setup
5
  def init_db():
6
  conn = sqlite3.connect('inventory.db')
 
16
 
17
  init_db()
18
 
19
+ # Functions to handle inventory
20
+ def view_inventory():
21
  conn = sqlite3.connect('inventory.db')
22
  cursor = conn.cursor()
23
  cursor.execute("SELECT * FROM inventory")
24
  items = cursor.fetchall()
25
  conn.close()
26
+ return items
27
 
28
+ def add_item(name, quantity, price):
 
 
 
 
 
29
  conn = sqlite3.connect('inventory.db')
30
  cursor = conn.cursor()
31
  cursor.execute("INSERT INTO inventory (name, quantity, price) VALUES (?, ?, ?)", (name, quantity, price))
32
  conn.commit()
33
  conn.close()
34
+ return f"Added {name} to inventory."
35
 
 
36
  def delete_item(item_id):
37
  conn = sqlite3.connect('inventory.db')
38
  cursor = conn.cursor()
39
  cursor.execute("DELETE FROM inventory WHERE id = ?", (item_id,))
40
  conn.commit()
41
  conn.close()
42
+ return f"Deleted item with ID {item_id}."
43
 
44
+ def update_item(item_id, name, quantity, price):
 
 
 
 
 
45
  conn = sqlite3.connect('inventory.db')
46
  cursor = conn.cursor()
47
  cursor.execute("UPDATE inventory SET name = ?, quantity = ?, price = ? WHERE id = ?", (name, quantity, price, item_id))
48
  conn.commit()
49
  conn.close()
50
+ return f"Updated item with ID {item_id}."
51
+
52
+ # Gradio UI
53
+ with gr.Blocks() as demo:
54
+ gr.Markdown("# Inventory Management System")
55
+ with gr.Row():
56
+ with gr.Column():
57
+ name = gr.Textbox(label="Item Name")
58
+ quantity = gr.Number(label="Quantity")
59
+ price = gr.Number(label="Price")
60
+ add_btn = gr.Button("Add Item")
61
+ add_output = gr.Textbox()
62
+ with gr.Column():
63
+ item_id_del = gr.Number(label="Item ID to Delete")
64
+ delete_btn = gr.Button("Delete Item")
65
+ delete_output = gr.Textbox()
66
+ with gr.Column():
67
+ item_id_upd = gr.Number(label="Item ID to Update")
68
+ name_upd = gr.Textbox(label="New Name")
69
+ quantity_upd = gr.Number(label="New Quantity")
70
+ price_upd = gr.Number(label="New Price")
71
+ update_btn = gr.Button("Update Item")
72
+ update_output = gr.Textbox()
73
+
74
+ inventory_list = gr.Dataframe(headers=["ID", "Name", "Quantity", "Price"])
75
+ refresh_btn = gr.Button("Refresh Inventory")
76
+
77
+ add_btn.click(add_item, inputs=[name, quantity, price], outputs=add_output)
78
+ delete_btn.click(delete_item, inputs=item_id_del, outputs=delete_output)
79
+ update_btn.click(update_item, inputs=[item_id_upd, name_upd, quantity_upd, price_upd], outputs=update_output)
80
+ refresh_btn.click(view_inventory, outputs=inventory_list)
81
 
82
+ demo.launch()