from flask import Flask, jsonify, request, render_template
import sqlite3
app = Flask(__name__)
# Ruta obligatoria que solicitaste
DATABASE = "/home/Daniel1712/papeleria.db"
def get_db():
conn = sqlite3.connect(DATABASE, timeout=10, check_same_thread=False)
conn.row_factory = sqlite3.Row
return conn
@app.route('/api/datos', methods=['GET'])
def api_datos():
conn = get_db()
cursor = conn.cursor()
cursor.execute("SELECT nombre, precio, cantidad FROM productos")
productos = [{"nombre": r["nombre"], "precio": r["precio"], "cantidad": r["cantidad"]} for r in cursor.fetchall()]
cursor.execute("SELECT producto, cantidad, total, fecha FROM ventas ORDER BY id DESC")
ventas = [{"producto": r["producto"], "cantidad": r["cantidad"], "total": r["total"], "fecha": r["fecha"]} for r in cursor.fetchall()]
conn.close()
return jsonify({"productos": productos, "ventas": ventas})
@app.route('/api/sincronizar_todo', methods=['POST'])
def api_sincronizar_todo():
data = request.json or {}
inventario = data.get('inventario', {})
conn = get_db()
cursor = conn.cursor()
for nombre, info in inventario.items():
cursor.execute("""
INSERT INTO productos (nombre, precio, cantidad)
VALUES (?, ?, ?)
ON CONFLICT(nombre) DO UPDATE SET precio=excluded.precio, cantidad=excluded.cantidad
""", (nombre, info['precio'], info['cantidad']))
conn.commit()
conn.close()
return jsonify({"success": True})
@app.route('/')
def index():
conn = get_db()
cursor = conn.cursor()
cursor.execute("SELECT * FROM productos")
productos = cursor.fetchall()
cursor.execute("SELECT * FROM ventas ORDER BY id DESC")
ventas = cursor.fetchall()
conn.close()
return render_template('index.html', productos=productos, ventas=ventas)
if __name__ == '__main__':
app.run(debug=True)
To embed this project on your website, copy the following code and paste it into your website's HTML: