Advertisement
teslariu

menu resto

Aug 5th, 2021
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.92 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. #
  4. """
  5. Script para administrar un restoran. Implementa dos tablas:
  6. * categoria (primeros, segundos, postres)
  7. * platos (milanesa c/pure, ravioles c /estofado, ensalada mixta, flan casero)
  8. """
  9.  
  10. import sqlite3
  11.  
  12. def mostrar_opciones():
  13.     return """
  14.        Menu de administracion del restaurante
  15.    *--------------------------------------------*
  16.        1. Agregar categoría
  17.        2. Agregar plato
  18.        3. Mostrar menú
  19.        4. Salir
  20.    *--------------------------------------------*
  21.    """
  22.  
  23. def agregar_categoria(nombre):
  24.     try:
  25.         conn.execute("INSERT INTO categoria VALUES (null,?)", (nombre,))
  26.     except sqlite3.IntegrityError:
  27.         print(f"Error: Ya existe la categoría {nombre}")
  28.     else:
  29.         conn.commit()
  30.        
  31.        
  32. def agregar_plato():
  33.     try:
  34.         cursor.execute("SELECT * FROM categoria ORDER BY id")
  35.     except sqlite3.OperationalError:
  36.         print("No se pudo ejecutar la consulta")
  37.     else:
  38.         categorias = cursor.fetchall()
  39.         if categorias:
  40.             id_categoria = []
  41.             print("Categorias")
  42.             print("----------")
  43.             print("ID | nombre")
  44.             print("-----------")
  45.             for ID, nombre in categorias:
  46.                 id_categoria.append(ID)
  47.                 print(f"{ID} | {nombre}")
  48.             while True:
  49.                 try:
  50.                     ID = int(input("\nSeleccione un id: "))
  51.                 except ValueError:
  52.                     print("El id debe ser nro entero")
  53.                 else:
  54.                     if ID in id_categoria:
  55.                         break
  56.                     print("ID de categoria inexistente")
  57.             nombre_plato = input("Ingrese el nombre del plato: ")
  58.             try:
  59.                 conn.execute("INSERT INTO platos VALUES (null,?,?)", (nombre_plato,ID))
  60.             except sqlite3.OperationalError:
  61.                 print(f"Error. Ya existe el plato {nombre_plato}")
  62.             else:
  63.                 conn.commit()
  64.         else:
  65.             print("No existen categorias de platos")
  66.        
  67.        
  68.        
  69.    
  70.    
  71. def mostrar_menu():
  72.     query = "SELECT categoria.id, categoria.nombre, platos.id, platos.nombre FROM categoria\
  73.            LEFT JOIN platos\
  74.            ON platos.id_categoria=categoria.id\
  75.            ORDER BY categoria.id,platos.id"
  76.     cursor.execute(query)
  77.     platos = cursor.fetchall()
  78.     if platos:
  79.         print("\nID  categoria  ID  plato   ")
  80.         print("-----------------------------")
  81.         for plato in platos:
  82.             print()
  83.             for elemento in plato:
  84.                 if isinstance(elemento, str):
  85.                     print("{:<10}".format(elemento), end=" ")
  86.                 else:
  87.                     if elemento is not None:
  88.                         print("{:^3}".format(elemento), end=" ")
  89.         print()
  90.     else:
  91.         print("No hay platos")
  92.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement