def agrega_producto(nombre, cantidad, precio): """ Agrega un producto al archivo productos.csv proporcionado por el usuario desde la línea de comandos NOMBRE, CANTIDAD y PRECIO. """ producto = Producto(nombre, cantidad, precio) guarda_producto(producto, NA_PRODUCTOS)
def main(argv): """ Función principal del script """ # Se valida que se proporcionen 3 parámetros if len(argv) == 3: # Tenemos un producto nombre = argv[0] # Se valida que el 2do argumento sea entero try: cantidad = int(argv[1]) except ValueError: print("Error: la cantidad tiene que ser entero!") sys.exit(1) # Se valida que el 3er argumento sea decimal try: precio = float(argv[2]) except ValueError: print("Error: el precio tiene que ser decimal") sys.exit(2) else: print("Error: sintaxis incorrecta!") print(""" Sintaxis: agrega-producto NOMBRE CANTIDAD PRECIO """) sys.exit(3) producto = Producto(nombre, cantidad, precio) guarda_producto(producto, NA_PRODUCTOS)
def lee_producto(): """ Lee un producto desde la entrada estándar y regresa un objeto de tipo Producto """ nombre = input("Nombre del producto: ") cantidad = lee_entero("Cantidad [1]:", 1) precio = lee_decimal("Precio:") return Producto(nombre, cantidad, precio)
def agrega_producto(nombre, cantidad, precio): """ Agrega un producto al archivo productos.csv proporcionado por el usuario desde la línea de comandos NOMBRE, CANTIDAD y PRECIO. """ if os.path.exists(NA_PRODUCTOS): lista = obtiene_productos_csv(NA_PRODUCTOS) else: lista = [] producto = Producto(len(lista) + 1, nombre, cantidad, precio) guarda_producto(producto, NA_PRODUCTOS)
def obtiene_productos_csv(nomarch): """ Regresa la lista de productos donde cada elemento es de tipo Producto leídos desde el archivo nomarch """ productos = [] with open(nomarch) as fcsv: csv_reader = csv.reader(fcsv) for fila in csv_reader: producto = Producto(fila[0], int(fila[1]), float(fila[2])) productos.append(producto) return productos