Update app.py
Browse files
app.py
CHANGED
|
@@ -1,8 +1,6 @@
|
|
| 1 |
-
|
| 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 |
-
|
| 22 |
-
def
|
| 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
|
| 29 |
|
| 30 |
-
|
| 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
|
| 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
|
| 51 |
|
| 52 |
-
|
| 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 64 |
|
| 65 |
-
|
| 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()
|
|
|