コード例 #1
0
def devolverLibro():
    usuario = Usuario()
    print(f"\t Codigo\t Nombre\t Correo\t Documento")
    for obj in usuario.all():
        print(f"\t {obj.id}\t {obj.nombre}\t {obj.correo}\t {obj.documento}")
    idUsuario = int(
        input("Escriba el id del usuario que realiza la reserva: "))
    libro = Libro()
    print(f"\t Codigo\t Nombre\t ISBN\t Autor\t Editorial\tEstado")
    for obj in libro.all():
        print(
            f"\t {obj.id}\t {obj.nombre}\t {obj.isbn}\t {obj.autor_id}\t {obj.editorial_id}\t {obj.estado_libro_id}"
        )
    idLibro = int(input("Ingrese el id del libro a reservar: "))
    libro = Libro.find(idLibro)
    libro.estado_libro_id = 1
    libro.save()
    biblioteca = Biblioteca()
    print(f"\t Codigo\t Nombre\t Dirección\t Documento")
    for obj in biblioteca.all():
        print(
            f"\t {obj.id}\t {obj.nombre}\t {obj.direccion}\t {obj.documento}")
    idBiblioteca = int(
        input("Ingrese el id de la biblioteca donde se reservara: "))
    prestamo = Prestamo()
    prestamo.usuario_id = idUsuario
    prestamo.libros_id = idLibro
    prestamo.prestado_on = str(date.today())
    prestamo.bibliotecas_id = idBiblioteca
    prestamo.save()
コード例 #2
0
    def Alquilar(self):
        self.__log.info("Alquilar un libro")

        estadolibro = EstadoLibro()
        print(f"\t ID\t Descripcion")
        for obj in estadolibro.all():
            print(f"\t {obj.id}\t {obj.descripcion}")

            if obj.descripcion == 1:

                libroporalquilar = Prestamo()

                cliente = User()
                print(f"\t ID\t Nombre\t CORREO\t DOCUMENTO\t ESTADO")
                for obj in cliente.all():
                    print(f"\t {obj.id}\t {obj.nombre}\t {obj.correo}\t {obj.documento}\t {obj.estado_user_id}")
                print("Escriba el id del cliente")
                cliente = input()

                libro = Libro()
                print(f"\t ID\t Nombre\t ISBN\t Autor\t Editorial\t Estado")
                for obj in libro.all():
                    print(f"\t {obj.id}\t {obj.nombre}\t {obj.isbn}\t {obj.autors_id}\t {obj.editorial_id}\t {obj.estado_libro_id}")
                print("Escriba el id del libro")
                libro = input()

                DatabaseManager.table('libro').where('nombre', f'{obj.nombre}').update({'obj.estado_libro_id': 3})

                biblioteca = Biblioteca()
                print(f"\t ID\t Nombre\t DIRECCION")
                for obj in biblioteca.all():
                    print(f"\t {obj.id}\t {obj.nombre}\t {obj.direccion}")
                print("Escriba el id de la biblioteca")
                biblioteca = input()

                libroporalquilar.users_id = cliente
                libroporalquilar.libros_id = libro
                libroporalquilar.bibliotecas_id = biblioteca

                libroporalquilar.save()

                objMenus = init.Inicio()
                objMenus.MenuInicioMenu()
               
            elif obj.descripcion == 2:
                print("Lo sentimos el libro que busca esta reservado")
                objMenus = init.Inicio()
                objMenus.MenuInicioMenu()

            elif obj.descripcion == 2:
                print("Lo sentimos el libro que busca no se encuentra disponible")
                objMenus = init.Inicio()
                objMenus.MenuInicioMenu()
コード例 #3
0
    def registroPrestamos(self):
        self.__log.info("Ingresando al Módulo de Prestamos")
        stopMenu = True
        while stopMenu:
            opcionesPrestamoLibros = {
                "\t- Lista de Prestamos": 1,
                "\t- Registrar Prestamos": 2,
                "\t- Devolucion de Libros": 3
            }
            menuPrestamoLibros = Menu("Módulo de Prestamos",
                                      opcionesPrestamoLibros)
            resmenuPrestamoLibros = menuPrestamoLibros.mostrarMenu()
            if resmenuPrestamoLibros == 1:
                self.__log.info("Entrando a la Lista de Prestamos")
                PrestamoN = Prestamo()
                print(
                    str("Codigo").ljust(5) + "\t " +
                    str("Fecha Prestamo").ljust(10) + "\t " +
                    str("Usuario").ljust(10) + "\t" +
                    str("Biblioteca").ljust(25) + "\t " +
                    str("Libro").ljust(7) + "\t " + str("Estado").ljust(7))
                contador = 0
                for obj in PrestamoN.all():
                    ObjUserTemp = User.find(obj.user_id)
                    ObjLibrTemp = Libro.find(obj.libros_id)
                    ObjBiblioTemp = Biblioteca.find(obj.bibliotecas_id)
                    ObjEstaLibTempp = EstadoLibro.find(
                        ObjLibrTemp.estado_libro_id)
                    contador += 1
                    print(
                        str(obj.id).ljust(5) + "\t " +
                        str(obj.prestamo_on).ljust(10) + "\t " +
                        str(ObjUserTemp.nombre).ljust(10) + "\t" +
                        str(ObjBiblioTemp.nombre).ljust(25) + "\t " +
                        str(ObjLibrTemp.nombre).ljust(7) + "\t " +
                        str(ObjEstaLibTempp.descripcion).ljust(7))
                if contador > 0:
                    print("Lista Completa")
                else:
                    print("No hay registros")
                stopMenu = False

            elif resmenuRegistroLibros == 2:
                self.__log.info("Registrar Prestamos")
                nuevo = Prestamo()

                UserN = User()
                print(f"\t Codigo\t\t\t Nombre\t\t\t Estado")
                for obj in UserN.all():
                    print(
                        f"\t {obj.id}\t\t\t {obj.nombre}\t\t\t {obj.estado_user_id}"
                    )
                print("Escriba el id del usuario: ")
                usuario_id = input()

                LibroN = Libro()
                print(f"\t Codigo\t Libro")
                for obj in LibroN.all():
                    print(f"\t {obj.id}\t {obj.nombre}")
                print("Escriba el id del libro: ")
                libroId = input()

                BibliotecaN = Biblioteca()
                print(f"\t Codigo\t Biblioteca")
                for obj in BibliotecaN.all():
                    print(f"\t {obj.id}\t {obj.nombre}")
                print("Escriba el id de la Biblioteca: ")
                bibliotecaId = input()

                nuevo.user_id = usuario_id
                nuevo.libros_Id = libroId
                nuevo.prestamo_on = datetime.now()
                nuevo.bibliotecas_id = bibliotecaId
                nuevo.save()

                nuevoD = Libro.find(nuevo.libros_Id)
                nuevoD.estado_libro_id = 3
                nuevoD.save()

                print("Registro completo")
                stopMenu = False

            elif resmenuRegistroLibros == 3:
                self.__log.info("Devolución de Libros")
                librosTemporal = []
                libroNN = Libro.where('estado_libro_id', '=', '3').get()
                for libt in libroNN.all():
                    idlibTemp = libt.id
                    PrestamoN = Prestamo.where('libros_id', '=',
                                               f"{idlibTemp}").get()
                    for presIn in PrestamoN.all():
                        temporalDato = {
                            "id": str(presIn.id),
                            "user_id": str(presIn.user_id),
                            "libros_id": str(presIn.libros_id),
                            "prestamo_on": str(presIn.prestamo_on),
                            "bibliotecas_id": str(presIn.bibliotecas_id)
                        }
                        librosTemporal.append(temporalDato)
                contaDD = 0
                print(f"\t Codigo\t\t " + str("Libros").ljust(15) +
                      "\t\t Fecha\t\t Bibliotecas")
                for obj in librosTemporal:
                    contaDD += 1
                    LibTempN = Libro.find(obj["libros_id"])
                    BibliTempN = Biblioteca.find(obj["bibliotecas_id"])
                    ididD = str(obj["id"])
                    prest = str(obj["prestamo_on"])
                    print(f"\t{ididD}\t\t " + str(LibTempN.nombre).ljust(15) +
                          "\t\t" + prest + "\t\t" + BibliTempN.nombre)
                if contaDD > 0:
                    print("Escriba el id del Préstamo")
                    Prestamo_NID = input()
                    nuevoPresD = Prestamo.find(Prestamo_NID)
                    nuevoD = Libro.find(nuevoPresD.libros_id)
                    nuevoD.estado_libro_id = 1
                    nuevoD.save()
                    print(f"Devolucion correcta")
                else:
                    print("No hay registros")
                stopMenu = False

            elif resmenuRegistroLibros == 9:
                stopMenu = False
                self.__log.info("Saliendo")
コード例 #4
0
    def registroPrestamos(self):
        self.__log.info("Ingresando al Registro de los ")
        opcionesRegistrolos = {
            "\t- Registrar Prestamos ": 1,
            "\t- Registrar devolucion de prestamo ": 2
        }
        menuRegistrolos = Menu("Registro de Prestamos ", opcionesRegistrolos)
        resmenuRegistrolos = menuRegistrolos.mostrarMenu()
        stopMenu = True
        while stopMenu:
            if resmenuRegistrolos == 1:
                self.__log.info("Entrando al registro de Prestamos ")
                nuevoPrestamo = Prestamo()
                codigoLibro = input("escriba el codigo del Libro \n")
                codigoUsuario = input("escriba el codigo del usuario \n")
                fechaPrestamo = datetime.today().strftime('%Y-%m-%d')
                bibliotecaId = 1
                flagUpdate = False

                nuevoPrestamo.user_id = codigoUsuario
                nuevoPrestamo.libros_id = codigoLibro
                nuevoPrestamo.prestado_on = fechaPrestamo
                nuevoPrestamo.bibliotecas_id = bibliotecaId

                listaLibros = Libro.where('id', '=', f'{codigoLibro}').get()
                for row in listaLibros:
                    libro = row

                if libro.estado_libro_id == 1:
                    listaAutor = Autor.where('id', '=',
                                             f'{libro.autor_id}').get()
                    for row in listaAutor:
                        autor = row

                    print(
                        "\tCodigo Usuario\t\tLibro\t\tISBN\t\tAutor\t\tBiblioteca"
                    )
                    print(
                        f"\t{str(codigoUsuario)}\t\t{str(libro.nombre)}\t\t{str(libro.isbn)}\t\t{str(autor.nombre)}\t\t{str(bibliotecaId)}"
                    )

                    registro = input(
                        "Desea registrar el prestamo Si(1)/No(0)?: ")
                    if str(registro) == '1':
                        if nuevoPrestamo.save():
                            print("Registro de prestamo satisfactorio")
                            sleep(5)
                            flagUpdate = Libro.where(
                                'id', '=',
                                f'{codigoLibro}').update(estado_libro_id=3)

                            if flagUpdate:
                                print("Actualización de libro satisfactorio")
                                sleep(5)
                            else:
                                print("No se pudo actualizar el libro")
                else:
                    print(
                        "No se puede prestar el libro.\nLibro ha sido prestado."
                    )
                    sleep(5)

                stopMenu = False

            elif resmenuRegistrolos == 2:
                self.__log.info("Entrando a la devolución de libro Prestado ")
                codigoUsuario = input("escriba el codigo del usuario \n")
                fechaDevolucion = '9999-12-31'  #Constante para identificar devolucion
                flagUpdate = False

                listaDev = Prestamo.where('user_id', '=',
                                          f'{codigoUsuario}').get()
                if listaDev:
                    print(
                        "\tID Prestamo\tLibro\t\tISBN\t\tAutor\t\tBiblioteca")
                    for rowDev in listaDev:
                        if str(rowDev.prestado_on
                               ) != fechaDevolucion:  #No mostrar devoluciones
                            listaLibros = Libro.where(
                                'id', '=', f'{rowDev.libros_id}').get()
                            for rowLibro in listaLibros:
                                libro = rowLibro
                                listaAutor = Autor.where(
                                    'id', '=', f'{libro.autor_id}').get()
                                for rowAutor in listaAutor:
                                    autor = rowAutor
                                print(
                                    f"\t{str(rowDev.id)}\t\t{str(libro.nombre)}\t\t{str(libro.isbn)}\t\t{str(autor.nombre)}\t\t{str(rowDev.bibliotecas_id)}"
                                )

                    idDev = input("Escriba el Id de Prestamo: ")

                    if idDev:
                        flagUpdate = Prestamo.where(
                            'id', '=',
                            f'{idDev}').update(prestado_on=fechaDevolucion)
                        if flagUpdate:
                            print("Actualización de Devolución satisfactoria")
                            sleep(5)
                            flagUpdate = Libro.where(
                                'id', '=', f'{rowDev.libros_id}').update(
                                    estado_libro_id=1)
                            if flagUpdate:
                                print("Actualización de libro satisfactorio")
                                sleep(5)
                            else:
                                print("No se pudo actualizar el libro")
                        else:
                            print("No se pudo actualizar Devolución")

                stopMenu = False

            elif resmenuRegistrolos == 9:
                self._log.info("Saliendo")
                stopMenu = False
コード例 #5
0
ファイル: libro.py プロジェクト: paul30041981/BIBLIOTECA
class LibroController:
    def __init__(self):
        self.libro = Libro()
        self.usuario = Usuario()
        self.prestamo = Prestamo()
        self.usuario_controller = UsuarioController()
        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_libros()
                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_libros(self):
        try:
            print('''
            ==========================
                Listar Libros
            ==========================
            ''')
            libros = self.libro.get_libros('id_libro')
            print(
                print_table(libros,
                            ['ID', 'Codigo', 'Titulo', 'Editorial', 'Stock']))
            input('\nPresiona una tecla para continuar...')
        except Exception as e:
            print(f'{str(e)}')

    def search_libro(self):
        print('''
        ========================
            Buscar Libro
        ========================
        ''')
        try:
            cod_libro = input_data("Ingrese el CODIGO del libro >> ")
            libro = self.libro.get_libro({'codigo': cod_libro})
            print(
                print_table(libro,
                            ['ID', 'Codigo', 'Titulo', 'Editorial', 'Stock']))

            if libro:
                if question(
                        '¿Deseas dar mantenimiento, alquilar o devolver el libro?'
                ):
                    opciones = [
                        'Editar', 'Eliminar', 'Alquilar',
                        'Registrar Devolucion', 'Salir'
                    ]
                    respuesta = Menu(opciones).show()
                    if respuesta == 1:
                        self.update_libro(cod_libro)
                    elif respuesta == 2:
                        self.delete_libro(cod_libro)
                    elif respuesta == 3:
                        self.alquilar_libro(cod_libro)
                    elif respuesta == 4:
                        self.devolucion_libro(cod_libro)
        except Exception as e:
            print(f'{str(e)}')
        input('\nPresiona una tecla para continuar...')

    def devolucion_libro(self, cod_libro):

        #Obtiene Libro
        libro = self.libro.get_libro({'codigo': cod_libro})

        self.usuario_controller.all_usuarios()

        while True:
            codigo = input_data(
                'Ingrese el Codigo del Usuario que Alquilo el libro >> ')

            #Obtiene User
            user = self.usuario.get_usuario({'codigo': codigo})

            if user:
                prestamos = self.prestamo.get_prestamo({
                    'id_usuario': user[0],
                    'id_libro': libro[0],
                    'devuelto': False
                })

                print('''
            ======================================
                Lista de Prestamos del Usuario
            ======================================
            ''')

                print(
                    print_table(prestamos, [
                        'ID Prestamo', 'ID Libro', 'ID Usuario',
                        'Fecha Prestamo', 'Fecha Devolucion', 'Devuelto'
                    ]))
                input('\nPresiona una tecla para continuar...')

                while True:
                    id_prestamo = input_data(
                        'Ingrese el Id del Prestamo que desea registrar la devolucion >> ',
                        'int')

                    prest = self.prestamo.get_prestamo(
                        {'id_prestamo': id_prestamo})

                    if prest:
                        now = datetime.now()
                        fecha_devolucion = str(now.year) + '-' + str(
                            now.month) + '-' + str(now.day) + ' ' + str(
                                now.hour) + ':' + str(now.minute) + ':' + str(
                                    now.second)

                        self.prestamo.update_prestamo(
                            {'id_prestamo': id_prestamo}, {
                                'fecha_devolucion': fecha_devolucion,
                                'devuelto': True
                            })

                        self.update_stock_of_devolucion_libro_by_codlibro(
                            cod_libro)

                        print(f'''
                    ==========================================================================
                        Libro {libro[2]} Devuelto por {user[4]} {user[5]} {user[6]} con Exito
                    ==========================================================================
                    ''')
                        prestamos_2 = self.prestamo.get_prestamo({
                            'id_usuario':
                            user[0],
                            'id_libro':
                            libro[0],
                        })

                        print(
                            print_table(prestamos_2, [
                                'ID Prestamo', 'ID Libro', 'ID Usuario',
                                'Fecha Prestamo', 'Fecha Devolucion',
                                'Devuelto'
                            ]))

                        break
                break

    def alquilar_libro(self, cod_libro):

        if (self.valida_disponibilidad_by_codlibro(cod_libro)):

            print(f'\n Libro Disponible para Alquiler \n')

            #Obtiene Libro
            libro = self.libro.get_libro({'codigo': cod_libro})

            self.usuario_controller.all_usuarios()
            while True:
                codigo = input_data(
                    'Ingrese el Codigo de uno de los Usuario que Alquilara del libro >> '
                )

                #Obtiene User
                user = self.usuario.get_usuario({'codigo': codigo})

                if user:
                    now = datetime.now()
                    fecha_prestamo = str(now.year) + '-' + str(
                        now.month) + '-' + str(now.day) + ' ' + str(
                            now.hour) + ':' + str(now.minute) + ':' + str(
                                now.second)

                    self.prestamo.insert_prestamo({
                        'id_usuario': user[0],
                        'id_libro': libro[0],
                        'fecha_prestamo': fecha_prestamo,
                        'devuelto': False
                    })

                    self.update_stock_of_alquiler_libro_by_codlibro(cod_libro)

                    print(f'''
              ==========================================================================
                  Libro {libro[2]} alquilado a {user[4]} {user[5]} {user[6]} con Exito
              ==========================================================================
              ''')
                    break
        else:
            print('''
          ================================
              Libro sin Stock
          ================================
          ''')

    def insert_libro(self):
        titulo = input_data('Ingrese el titulo del libro >> ')
        editorial = input_data('Ingrese la editorial del libro >> ')
        stock = input_data('Ingrese el Stock del libro >> ', 'int')
        codigo = genera_codigo_by_texto(titulo)
        self.libro.insert_libro({
            'codigo': codigo,
            'titulo': titulo,
            'editorial': editorial,
            'stock': stock
        })
        print('''
        ================================
            Nuevo libro agregado
        ================================
        ''')
        self.all_libros()

    def update_libro(self, cod_libro):
        titulo = input_data('Ingrese el Nuevo titulo del libro >> ')
        editorial = input_data('Ingrese la Nueva editorial del libro >> ')
        stock = input_data('Ingrese el nuevo Stock del libro >> ', 'int')
        self.libro.update_libro({'codigo': cod_libro}, {
            'titulo': titulo,
            'editorial': editorial,
            'stock': stock
        })
        print('''
        ============================
            Libro Actualizado
        ============================
        ''')

    def delete_libro(self, cod_libro):
        self.libro.delete_libro({'codigo': cod_libro})
        print('''
        =========================
            Libro Eliminado
        =========================
        ''')

    def update_stock_by_codlibro(self, cod_libro, stock):
        self.libro.update_libro({'codigo': cod_libro}, {'stock': stock})
        return True

    def obtiene_stock_by_codlibro(self, cod_libro):

        libro = self.libro.get_libro({'codigo': cod_libro})

        if libro:
            return libro[4]

        return 0

    def valida_disponibilidad_by_codlibro(self, cod_libro):

        stock = int(self.obtiene_stock_by_codlibro(cod_libro))

        if stock > 0:
            return True

        return False

    def update_stock_of_alquiler_libro_by_codlibro(self, cod_libro):

        if self.valida_disponibilidad_by_codlibro(cod_libro):
            stock = int(self.obtiene_stock_by_codlibro(cod_libro))
            self.update_stock_by_codlibro(cod_libro, stock - 1)
            return True

        return False

    def update_stock_of_devolucion_libro_by_codlibro(self, cod_libro):

        stock = int(self.obtiene_stock_by_codlibro(cod_libro))
        self.update_stock_by_codlibro(cod_libro, stock + 1)
        return True
コード例 #6
0
ファイル: libro.py プロジェクト: paul30041981/BIBLIOTECA
 def __init__(self):
     self.libro = Libro()
     self.usuario = Usuario()
     self.prestamo = Prestamo()
     self.usuario_controller = UsuarioController()
     self.salir = False
コード例 #7
0
    def execute_modulo(self, ans):
        clear()
        if (ans == '1'):
            pass
            # print("Ingrese la información solicitada")
            # id_doc=input("Documento del usuario: ")
            # records=models.user.User.where('documento','=',id_doc).get()
            # for record in records:
            #     print(record.id)
        elif (ans == '2'):
            print('Ingrese la informacion solicitada')
            id_doc_urs = input(color.BOLD + "Id documento del usuario: " +
                               color.END)
            userconx = models.user.Users()
            run = True
            while run:
                try:
                    "user = db.table('users').where('name', 'John').pluck('name')"
                    record_urs = userconx.where('documento',
                                                id_doc_urs).pluck('documento')
                    print(record_urs)
                    id_user = record_urs.id
                    break
                except Exception as error:
                    print(error)
                    print(color.BOLD + 'Opcion incorrecta' + color.END)

            clear()
            libroconx = models.libro.Libro
            records_libro = libroconx.all()
            record_list = []
            for record in records_libro:
                record_dict = {
                    'Id libro': record.id,
                    'Titulo': record.nombre,
                    'ISBN': record.isbn
                }
                record_list.append(record_dict)
            utils.contenedor.contenedor(record_list)
            while run:
                try:
                    print("")
                    id_libro = input('Id libro: ')
                    libroconx.where('id', int(id_libro)).first()
                    break
                except:
                    print('Opcion incorrecta')
            clear()
            bibconx = models.biblioteca.Biblioteca
            records_bib = bibconx.all()
            bib_list = []
            for record in records_bib:
                record_dict = {
                    'Id biblioteca': record.id,
                    'Nombre de la biblioteca': record.nombre,
                    'Dirección': record.direccion
                }
                bib_list.append(record_dict)
            utils.contenedor.contenedor(bib_list)
            run = True
            while run:
                try:
                    id_biblioteca = input(color.BOLD + "Id biblioteca: " +
                                          color.END)
                    bibconx.where('id', int(id_biblioteca)).first()
                    break
                except:
                    print('Opcion incorrecta')
            clear()
            print("Seguro que deseas agregar la siguiente información: ")
            ans = ("Respuesta(Y/N): ")
            if (ans == 'Y'):
                print("")
                prtconx = Prestamo()
                prtconx.user_id = id_user
                prtconx.libros_id = id_libro
                prtconx.prestado_on = date.today()
                prtconx.bibliotecas_id = id_biblioteca
                prtconx.save()
                print("Se registro el prestamo")
        elif (ans == '3'):
            pass
        elif (ans == '4'):
            pass
コード例 #8
0
    def registroPrestamos(self):
        self.__log.info("Ingresando al menu de Prestamos")
        opcionesPrestamo = {
            "\t- Registrar Prestamo": 1,
            "\t- Registrar Devolucion": 2
        }
        menuPrestamo = Menu("Prestamo de Libros", opcionesPrestamo)
        resmenuPrestamo = menuPrestamo.mostrarMenu()
        stopMenu = True
        while stopMenu:
            if resmenuPrestamo == 1:
                self.__log.info("Entrando al prestamo de libros")
                usuario = User()
                numDocumento = input("Ingrese su numero de documento: ")
                try:
                    listaUser = []
                    for obj in usuario.all():
                        a = [
                            obj.id, obj.nombre, obj.documento,
                            obj.estado_user_id
                        ]
                        listaUser.append(a)
                    aaa = False
                    i = 0
                    while aaa == False:
                        if listaUser[i][2] == numDocumento:
                            aaa = True
                            user_id = listaUser[i][0]
                            name = listaUser[i][1]
                            resultado = listaUser[i][3]
                            estadoUser = EstadoUser()
                            listaEstadoUser = []
                            for obj in estadoUser.all():
                                a = [obj.id, obj.descripcion]
                                listaEstadoUser.append(a)
                            bbb = False
                            j = 0
                            while bbb == False:
                                if listaEstadoUser[j][0] == resultado:
                                    est_User = listaEstadoUser[j][1]
                                    if est_User == "Inactivo" or est_User == "Pendiente Aprobacion":
                                        print("Su estado es: ", est_User,
                                              "no puede retirar libros")
                                        stopMenu = False
                                    elif est_User == "Activo":
                                        print("Bienvenido ", name,
                                              "su estado de usuario es: ",
                                              est_User)

                                        libros = Libro()
                                        nombreLibro = input(
                                            "Ingrese el nombre del libro: ")
                                        try:
                                            guiaLibros = []
                                            for obj in libros.all():
                                                a = [
                                                    obj.id, obj.nombre,
                                                    obj.estado_libro_id
                                                ]
                                                guiaLibros.append(a)

                                            ccc = False
                                            i = 0
                                            while ccc == False:
                                                if guiaLibros[i][
                                                        1] == nombreLibro:
                                                    libro_id = guiaLibros[i][0]
                                                    resultado1 = guiaLibros[i][
                                                        2]
                                                    ccc = True
                                                    estadoLibro = EstadoLibro()
                                                    estadoLibros = []
                                                    for obj in estadoLibro.all(
                                                    ):
                                                        a = [
                                                            obj.id,
                                                            obj.descripcion
                                                        ]
                                                        estadoLibros.append(a)

                                                    bbb = False
                                                    j = 0
                                                    while bbb == False:
                                                        if estadoLibros[j][
                                                                0] == resultado1:
                                                            est_Libros = estadoLibros[
                                                                j][1]

                                                            if est_Libros == "Disponible":
                                                                print(
                                                                    "El libro, se encuentra ",
                                                                    est_Libros)
                                                                est_Libros = "Prestado"
                                                                prestamo = Prestamo(
                                                                )
                                                                prestamo.user_id = user_id
                                                                prestamo.libros_id = libro_id
                                                                prestamo.prestado_on = datetime.now(
                                                                )
                                                                prestamo.bibliotecas_id = 1
                                                                prestamo.save()
                                                                stopMenu = False
                                                                print(
                                                                    "El registro del prestamo, se realizo con exito"
                                                                )
                                                            elif est_Libros == "Reservado" or est_Libros == "Prestado":
                                                                print(
                                                                    "El libro se encuentra: ",
                                                                    est_Libros)
                                                                stopMenu = False
                                                            else:
                                                                print(
                                                                    "digito mal"
                                                                )
                                                                stopMenu = False
                                                            bbb = True
                                                        else:
                                                            j = j + 1

                                                else:
                                                    i = i + 1
                                        except:
                                            print("El libro no existe")
                                            stopMenu = False

                                    else:
                                        print("Digito mal")
                                        stopMenu = False
                                    bbb = True
                                else:
                                    j = j + 1
                        else:
                            i = i + 1
                except:
                    print("ALGO FALLO EN EL PROGRAMA")
                stopMenu = False

            elif resmenuPrestamo == 2:
                libros = Libro()
                isbnLibro = input("Ingrese el ISBN del libro a devolver: ")
                try:
                    listaLibros = []
                    for obj in libros.all():
                        a = [obj.id, obj.nombre, obj.isbn]
                        listaLibros.append(a)
                    aaa = False
                    i = 0
                    while aaa == False:
                        if listaLibros[i][2] == isbnLibro:
                            idLibro = listaLibros[i][0]
                            prestamo = Prestamo()
                            listaPrestamos = []
                            for obj in libros.all():
                                a = [
                                    obj.id, obj.user_id, obj.libros_id,
                                    obj.prestado_on, obj.bibliotecas_id
                                ]
                                listaPrestamos.append(a)
                            bbb = False
                            j = 0
                            while bbb == False:
                                if listaPrestamos[i][2] == idLibro:
                                    prestamo.user_id = listaPrestamos[i][1]
                                    prestamo.libros_id = listaPrestamos[i][2]
                                    prestamo.prestado_on = datetime.now()
                                    prestamo.bibliotecas_id = listaPrestamos[
                                        i][4]
                                    prestamo.save()
                                    stopMenu = False
                                    bbb = True
                                else:
                                    j = j + 1
                            aaa = True
                        else:
                            i = i + 1
                except:
                    print(
                        "El libro no existe o no está registrado en la biblioteca"
                    )
                stopMenu = False

            elif resmenuPrestamo == 9:
                self._log.info("Saliendo")
                stopMenu = False