#!/usr/bin/python3.5
# -*- coding: utf-8 -*-
from libro import Libro
from libroManager import LibroManager
class App:
def __init__(self):
self.manager = LibroManager()
@property
def manager(self):
return self._manager
@manager.setter
def manager(self, manager):
self._manager = manager
def menu(self):
while True:
print("")
print("Elija una opción")
print("\n1.- Agregar")
print("2.- Editar")
print("3.- Listar")
print("4.- Eliminar")
print("5.- Salir")
print("")
try:
opcion = int(input("?: "))
except ValueError as ve:
print("Opción no válida")
continue
if opcion in range(1, 5):
self.procesar_opcion(opcion)
elif opcion == 5:
break
else:
print("Opción no válida")
def procesar_opcion(self, opcion):
if opcion == 1:
self.agregar()
elif opcion == 2:
self.editar()
elif opcion == 4:
self.eliminar()
elif opcion == 3:
self.listar()
def agregar(self):
titulo = input("\nTitulo: ")
autor = input("Autor: ")
editorial = input("Editorial: ")
l = Libro(autor, titulo, editorial)
self.manager.agregar(l)
def eliminar(self):
self.listar()
try:
indice = int(input("\nIndice del libro: "))
self.manager.eliminar(indice)
except ValueError as ve:
print("Indice no válido")
def listar(self):
print("")
for i, l in enumerate(self.manager.libros):
print("Id: {0}, Autor: {1}, Titulo: {2}, Editorial: {3}".format(i, l.autor, l.titulo, l.editorial))
def editar(self):
self.listar()
try:
indice = int(input("\nIndice del libro: "))
titulo = input("\nNuevo titulo: ")
autor = input("Nuevo autor: ")
editorial = input("Nueva editorial: ")
l = Libro(autor, titulo, editorial)
self.manager.editar(indice, l)
self.listar()
except ValueError as ve:
print("Indice no válido")
if __name__ == "__main__":
app = App()
app.menu()