示例#1
0
    def prestamoLibros(self):
        self.__log.info("Entrando a prestamos de libros")
        opcionesPrestamoLibros = {
            "\t- Solicitar un libro": 1,
            "\t- Devolver un Libro": 2
        }
        menuPrestamoLibros = Menu("Registro de Libros", opcionesPrestamoLibros)
        resmenuPrestamoLibros = menuPrestamoLibros.mostrarMenu()
        stopMenu = True
        while stopMenu:
            if resmenuPrestamoLibros == 1:
                self.__log.info("Entrando a prestamos de libros")
                libros = Libros()
                for libro in libros.all():
                    print(
                        f"\t {libro.libro_id}\t {libro.nombre}\t {libro.isbn}\t {libro.autor_id}"
                    )

                isbnLibro = input("Escriba en ISBN del libro \n")
                Libros.table('libros').where('isbn', isbnLibro).update(
                    estado_libro_id=estado_libro_id, estado='P')
                stopMenu = False
            elif resmenuPrestamoLibros == 2:
                self.__log.info("Entrando a devolucion de libros")
                libros = Libros()
                print('Ingrese el isbn del libro a devolver')
                print('Podrá encontrar el número en la tapa del libro')
                isbnDev = input('Ingrese el isbn aquí: ')
                Libros.table('libros').where('isbn', isbnDev).update(
                    estado_libro_id=estado_libro_id, estado='D')
                stopMenu = False
            elif resmenuPrestamoLibros == 9:
                self._log.info("Saliendo")
示例#2
0
    def registroLibros(self):
        self.__log.info("Ingresando al Registro de Libros")
        opcionesRegistroLibros = {"\t- Registrar Libros":1,"\t- Listar Libros":2}
        menuRegistroLibros = Menu("Registro de Libros",opcionesRegistroLibros)
        resmenuRegistroLibros = menuRegistroLibros.mostrarMenu()
        stopMenu = True
        while stopMenu:
            if (resmenuRegistroLibros == 1):
                self.__log.info("Entrando al registro de libros")
                nuevoLibro = Libros()
                nombreLibro = input("escriba el nombre del Libro \n")
                isbnLibro = input("escriba en ISBN del libro \n")

                autores = Autor()
                print(f"\t Codigo\t Nombre\t Tipo")
                for obj in autores.all():
                    print(f"\t {obj.id}\t {obj.nombre}\t {obj.tipo}")
                print("Escriba el id del Autor de la siguiente lista")
                print("*Importante : Si no lo ve ingrese NA*")
                autor_idLibro = input()
                if (autor_idLibro == 'NA'):
                    nuevoAutor = Autor()
                    nombrenuevoAutor = input('Ingrese el nombre del Autor: ')
                    correonuevoAutor = input('Ingrese el correo del Autor: ')
                    tiponuevoAutor = input('Ingrese si (01) si es Autor o (02) si es Editorial: ')
                    nuevoAutor.nombre = nombrenuevoAutor
                    nuevoAutor.correo = correonuevoAutor
                    nuevoAutor.tipo = tiponuevoAutor
                    nuevoAutor.save()
                    print('Inicializando menu de regsitro nuevamente')
                    Registros.registroLibros()
                else:
                    estados = Estado_libro()
                    print(f"\t Codigo\t Estado")
                    for obj in estados.all():
                        print(f"\t {obj.id}\t {obj.descripcion}")
                    print("Escriba el id del Estado del Libro de la siguiente lista")
                    estadoLibro = input()

                nuevoLibro.nombre = nombreLibro
                nuevoLibro.isbn = isbnLibro
                nuevoLibro.autor_id = autor_idLibro
                nuevoLibro.estado_libro_id = estadoLibro

                nuevoLibro.save()



                stopMenu = False
            
            elif resmenuRegistroLibros == 9:
                self._log.info("Saliendo")
示例#3
0
 def __init__(self):
     self.usuario = Usuario()
     self.libro = Libros()
     self.salir = False
示例#4
0
 def __init__(self):
     self.libro = Libros()
     self.autor = Autores()
     self.close = False
示例#5
0
class Libros_Controller:
    def __init__(self):
        self.libro = Libros()
        self.autor = Autores()
        self.close = False

    def menu_libros(self):
        while True:
            try:
                print("\n\t       Libros")
                print("\n\t----Menu de Opcion----")
                print("""
        1) Listar Libro - Autor
        2) Listar Libros
        3) Registrar Libro
        4) Actualizar Libro
        5) Eliminar Libro
        6) Salir
                """)

                opcion = int(input("Seleccione una opcion: "))

                if opcion == 1:
                    self.listar_libro_autor()
                elif opcion == 2:
                    self.listar_libros()
                elif opcion == 3:
                    self.registro_libros()
                elif opcion == 4:
                    self.actualizar_datos_libro()
                elif opcion == 5:
                    self.eliminar_datos_libro()
                elif opcion == 6:
                    pass
                else:
                    print(
                        "Valor seleccionado no existe en el menu, Intente nuevamente ..."
                    )
            except Exception as e:
                print(str(e))

    def listado_libro_estado(self):
        estado_libro = self.libro.inner_join_libro_estado()
        if estado_libro:
            print("Lista Libro - Estado")
            print(
                "ID LIBRO         NOMBRE DE LIBRO           NOMBRE AUTOR          APELLIDO AUTOR      AÑO DE PUBLICACION       EDITORIAL         GENERO       ESTADO"
            )
            for i in estado_libro:
                print(
                    f"({i[0]})\t    ({i[1]})\t({i[2]})\t({i[3]})\t        ({i[4]})\t              ({i[5]})\t      ({i[6]})\t ({i[7]})\t"
                )
        else:
            print(
                "No se encuentra ningun Libro o Autor registrado en la base de datos"
            )

    def listar_libro_autor(self):
        libros = self.libro.inner_join_libros()

        if libros:
            print("Lista Libro - Autor")
            print(
                "ID LIBRO         NOMBRE DE LIBRO           NOMBRE AUTOR          APELLIDO AUTOR      AÑO DE PUBLICACION       EDITORIAL         GENERO"
            )
            for i in libros:
                print(
                    f"({i[0]})\t    ({i[1]})\t({i[2]})\t({i[3]})\t        ({i[4]})\t              ({i[5]})\t      ({i[6]})\t"
                )
        else:
            print(
                "No se encuentra ningun Libro o Autor registrado en la base de datos"
            )

    def listar_libros(self):
        libros = self.libro.obtain_libros()
        if libros:
            print("Lista de Libros")
            print(
                "ID LIBRO             NOMBRE             FECHA PUBLICACION         ID AUTOR      ID EDITORIAL        ID GENERO"
            )
            for i in libros:
                print(
                    f"({i[0]})\t  ({i[1]})\t({i[2]})\t({i[3]})\t({i[4]})\t({i[5]})"
                )
        else:
            print(
                "No se encuentra ningun cliente registrado en la base de datos"
            )

    def listar_autores(self):
        autores = self.autor.obtain_autores()
        if autores:
            print("Lista de Clientes")
            print(
                "ID AUTOR          NOMBRES             APELLIDOS         NACIONALIDAD"
            )
            for i in autores:
                print(f"({i[0]})\t({i[1]})\t({i[2]})\t({i[3]})")
        else:
            print(
                "No se encuentra ningun cliente registrado en la base de datos"
            )

    def registro_libros(self):

        print("Registro de Libros")
        nombre = input("Ingrese nombre de Libro: ")
        fecha_publicacion = input("Ingrese fecha de publicacion: ")

        self.listar_autores()
        autores = self.autor.obtain_autores()
        print("Seleccione autor que publico libro registrado: ")
        id_autor = int(input("Seleccione ID AUTOR: "))

        for i in autores:
            if i[0] == id_autor:
                id_libro = i[0]
                self.libro.id_libro = id_libro
                self.libro.id_autor = id_autor
                print(id_autor)
                print(id_libro)

        print("\nEditoriales")
        print("-----------------")
        print("""
            1. Acantilado
            2. Aguilar
            3. Almadía
            4. Alfaguara
        """)
        id_editorial = int(input("¿A que editorial pertenece?: "))
        self.libro.id_editorial = id_editorial

        print("\nGeneros")
        print("-----------------")
        print("""
            1. Aventura
            2. Ciencia Ficcion
            3. Cuentos de Hadas
            4. Piliciaca
        """)
        id_genero = int(input("¿A que editorial pertenece?: "))

        print("\nEstados")
        print("-----------------")
        print("""
            1. Prestado
            2. No Prestado
        """)
        id_estado_libro = int(input("¿A que editorial pertenece?: "))
        if id_estado_libro == "":
            self.libro.id_estado_libro = id_estado_libro

        self.libro.nombre = nombre
        self.libro.fecha_publicacion = fecha_publicacion
        self.libro.id_genero = id_genero
        self.libro.id_estado_libro = id_estado_libro

        self.libro.insert_libros()

    def actualizar_datos_libro(self):
        self.listar_libros()
        libros = self.libro.obtain_libros()

        id_libro = int(input("Seleccione un alumno de la lista: "))
        self.libro.id_libro = id_libro

        print("Datos que Actualizara")
        print("---------------------")
        respuesta = input("¿Esta seguro de actualizar nombre de Libro? Y/N:")

        if respuesta == 'Y' or respuesta == 'y':
            nombre = input("Ingrese el nuevo nombre de Libro: ")
            self.libro.nombre = nombre
        elif respuesta == 'N' or respuesta == 'n':
            for i in libros:
                if i[0] == id_libro:
                    nombre = i[1]
                    self.libro.nombre = nombre
                    print(f"({i[0]})\t({i[1]})")
                    print(nombre)

        respuesta = input(
            "¿Esta seguro de actualizar fecha_publicacion de Libro? Y/N:")
        if respuesta == 'Y' or respuesta == 'y':
            fecha_publicacion = input("Ingrese nombre completo: ")
            self.libro.fecha_publicacion = fecha_publicacion
        elif respuesta == 'N' or respuesta == 'n':
            for i in libros:
                if i[0] == id_libro:
                    fecha_publicacion = i[2]
                    self.libro.fecha_publicacion = fecha_publicacion
                    print(f"({i[0]})\t({i[2]})")
                    print(fecha_publicacion)

        self.libro.update_libro()

    def eliminar_datos_libro(self):
        self.listar_libros()

        id_libro = int(
            input("Seleccione alumno que desea eliminar sus datos: "))
        self.libro.id_libro = id_libro

        respuesta = input(
            "¿Esta seguro que desea eliminar los datos del id seleccionado? Y/N: "
        )

        if respuesta == 'Y' or respuesta == 'y':
            self.libro.delete_libro()
        else:
            self.menu_libros()
示例#6
0
class LibrosController:
    def __init__(self):
        self.libros = Libros()
        self.usuario = Usuario()
        self.salir = False

    def menu(self):
        try:
            while True:
                print('''
                ==================
                      Libros
                ==================
                ''')
                lista_menu = [
                    "Listar", "Buscar", "Crear", "Actualizar", "Salir"
                ]
                respuesta = Menu(lista_menu).show()

                if respuesta == 1:
                    self.all_libros()
                elif respuesta == 2:
                    self.search_libro()
                elif respuesta == 3:
                    self.insert_libro()
                elif respuesta == 4:
                    self.update_libro()
                else:
                    self.salir = True
                    break
        except Exception as e:
            print(f'{str(e)}')

    def all_libros(self):
        print('''
        ==========================
               Listar Libros
        ==========================
        ''')
        libros = self.libros.get_libros('id_libro')
        print(
            print_table(
                libros,
                ['id_libro', 'nombre_libro', 'editorial', 'disponibilidad']))
        input('\nPresiona una tecla para continuar...')

    def search_libro(self):
        print('''
        ========================
              Buscar Libro
        ========================
        ''')
        try:
            id_libro = input_data("Ingrese el ID del libro >> ", "int")
            libro = self.libros.get_libro({'id_libro': id_libro})
            print(
                print_table(libro, [
                    'id_libro', 'nombre_libro', 'editorial', 'disponibilidad'
                ]))

            ###### DESCONOCIMIENTO DE LIBRO ######
            ######################################

            if libro:
                if question('¿Deseas dar mantenimiento al libro?'):
                    opciones = [
                        'Asignar Curso', 'Editar Profesor',
                        'Eliminar profesor', 'Salir'
                    ]
                    respuesta = Menu(opciones).show()
                    if respuesta == 1:
                        pass
                    elif respuesta == 2:
                        self.update_profesor(profesor_id)
                    elif respuesta == 3:
                        pass
        except Exception as e:
            print(f'{str(e)}')
        input('\nPresiona una tecla para continuar...')

###### DESCONOCIMIENTO DE LIBRO ######
######################################

    def insert_libro(self):
        nombre_libro = input_data('Ingrese el nombre del libro >> ')
        editorial = input_data('Ingrese la editorial del libro >> ')
        disponibilidad = input_data('Ingrese la disponibilidad del libro >> ',
                                    'int')
        self.libros.insert_libro({
            'nombre_libro': nombre_libro,
            'editorial': editorial,
            'disponibilidad': disponibilidad
        })
        print('''
        ==================================
               Nuevo libro agregado
        ==================================
        ''')
        self.all_libros()

    def update_libro(self, id_libro):
        nombre_libro = input_data('Ingrese el nuevo nombre del libro >> ')
        editorial = input_data('Ingrese la nueva editorial del libro >> ')
        disponibilidad = input_data('Ingrese la disponibilidad del libro >> ',
                                    'int')
        self.libro.update_libro({'id_libro': id_libro}, {
            'nombre_libro': nombre_libro,
            'editorial': editorial,
            'disponibilidad': disponibilidad
        })
        print('''
        ==============================
              Libro Actualizado
        ==============================
        ''')
示例#7
0
 def __init__(self):
     self.libros = Libros()
     self.salir = False
示例#8
0
class LibrosController:
    def __init__(self):
        self.libros = Libros()
        self.salir = False

    def menu(self):
        try:
            while True:
                print('''
                =============================
                            Libros
                =============================
                ''')
                lista_menu = ['Listar', 'Buscar', 'Crear', 'Salir']
                respuesta = Menu(lista_menu).show()

                if respuesta == 1:
                    self.all_libro()
                elif respuesta == 2:
                    self.search_libro()
                elif respuesta == 3:
                    self.insert_libro()
                else:
                    self.salir = True
                    break

        except Exception as e:
            print(f'{str(e)}')

    def all_libro(self):
        print('''
        =============================
              Listar Libros
        =============================
        ''')
        libro = self.libros.get_libros('libro_id')
        print(
            print_table(
                libro,
                ['Libro_Id', 'Nombre', 'Autor', 'Editorial', 'Estatus']))
        input('\nPresiona una tecla para continuar . . .')

    def search_libro(self):
        self.all_libro()
        print('''
        =============================
               Buscar Usuario
        =============================
        ''')
        try:
            libro_id = input_data('Ingrese el ID del Libro : ', 'int')
            libro = self.libros.get_libro({'libro_id': libro_id})
            print(
                print_table(
                    libro,
                    ['Libro_Id', 'Nombre', 'Autor', 'Editorial', 'Estatus']))
            if libro:
                if question('Desea dar mantenimiento al Libro?'):
                    opciones = ['Editar Libro', 'Eliminar Libro', 'Salir']
                    respuesta = Menu(opciones).show()
                    if respuesta == 1:
                        self.update_libro(libro_id)
                    elif respuesta == 2:
                        pass
        except Exception as e:
            print(f'{str(e)}')
        input('\nPresiona una tecla para continuar . . .')

    def update_libro(self, libro_id):
        nombre = input_data('Ingrese el Nombre del Libro : ')
        autor = input_data('Ingrese el Autor del Libro : ')
        editorial = input_data('Ingrese la Editorial Libro : ')
        estatus = 'ACTIVO'
        self.libros.update_libro({'libro_id': libro_id}, {
            'nombre': nombre,
            'autor': autor,
            'editorial': editorial,
            'estatus': estatus
        })
        print('\n Datos del Libro Actualizado \n')

    def insert_libro(self):
        nombre = input_data('Ingrese el Nombre del Libro : ')
        autor = input_data('Ingrese el Autor del Libro : ')
        editorial = input_data('Ingrese la Editorial Libro : ')
        estatus = 'ACTIVO'
        self.libros.insert_libro({
            'nombre': nombre,
            'autor': autor,
            'editorial': editorial,
            'estatus': estatus
        })
        print('''
        =============================
           Listar Libro Agregado
        =============================
        ''')
        self.all_libro()