import requests
import json
import os

URL_SERVIDOR = "https://[Log in to view URL]"
HEADERS = {"User-Agent": "Mozilla/5.0"}

def descargar_de_web():
    print("\nDescargando datos de la web a tu PC...")
    try:
        res = requests.get(f"{URL_SERVIDOR}/api/datos", headers=HEADERS, timeout=10)
        if res.status_code == 200:
            datos = res.json()
            inventario_dict = {}
            for p in datos.get("productos", []):
                inventario_dict[p["nombre"]] = {
                    "precio": float(p["precio"]),
                    "cantidad": int(p["cantidad"])
                }
            contenido = {
                "inventario": inventario_dict,
                "ventas": datos.get("ventas", [])
            }
            with open("inventario.json", "w", encoding="utf-8") as f:
                json.dump(contenido, f, indent=4)
            print("¡Listo! Tu archivo 'inventario.json' local se ha actualizado con lo de la web.")
        else:
            print("Error al descargar desde el servidor.")
    except Exception as e:
        print("Error de conexión:", e)

def subir_a_web():
    if os.path.exists("inventario.json"):
        with open("inventario.json", "r", encoding="utf-8") as f:
            datos = json.load(f)
        print("\nSubiendo datos de tu PC a la web...")
        try:
            res = requests.post(f"{URL_SERVIDOR}/api/sincronizar_todo", json=datos, headers=HEADERS, timeout=10)
            if res.status_code == 200:
                print("¡Listo! Tu página web se ha actualizado con los datos de tu PC.")
            else:
                print("Error al subir los datos:", res.text)
        except Exception as e:
            print("Error de conexión:", e)
    else:
        print("No se encontró el archivo 'inventario.json' en esta carpeta.")

if __name__ == "__main__":
    print("========================================")
    print("   GESTOR DE SINCRONIZACIÓN - PAPELERÍA ")
    print("========================================")
    print("1. Traer datos de la Web a la PC (Descargar)")
    print("2. Mandar datos de la PC a la Web (Subir)")
    
    opcion = input("\nElige una opción (1 o 2): ").strip()
    
    if opcion == "1":
        descargar_de_web()
    elif opcion == "2":
        subir_a_web()
    else:
        print("Opción no válida.")

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: