Ejemplo n.º 1
0
 def test_5(self): #--------------- Qué ocurre si el título es none Pero nunca llega a ser mostrado por mas_antiguos (cambiamos año)
     l1 = Libro(autor = Autor(id_autor = 1, nombre = "Miguel de Cervantes", apellido = "Saavedra"), titulo = None, anyo = 1990)
     l2 = Libro(autor = Autor(id_autor = 2, nombre = "Miguel", apellido = "Jose"), titulo = "Doña Quijota", anyo = 1901)
     l3 = Libro(autor = Autor(id_autor = 3, nombre = "Miguelito", apellido = "Jose Paco"), titulo = "Don Moderno 2040", anyo = 2040)
     l4 = Libro(autor = Autor(id_autor = 4, nombre = "Alejandro", apellido = "Maria"), titulo = "Harry Potter 2020", anyo = 2020) 
     lista = [l1, l2, l3, l4]
     self.assertRaises(mas_antiguo(lista, 1989))     
Ejemplo n.º 2
0
def editarLibro():
    libro = Libro(db)
    data = request.get_json(force=True)
    libro.actualizar(data)
    respuesta = make_response("Hello World")
    respuesta.headers.add("Access-Control-Allow-Origin", "*")
    return respuesta
Ejemplo n.º 3
0
 def test_1(self):
     l1 = Libro(autor = Autor(id_autor = 1, nombre = "Miguel de Cervantes", apellido = "Saavedra"), titulo = "Don Quijote", anyo = 1522)
     l2 = Libro(autor = Autor(id_autor = 2, nombre = "Miguel", apellido = "Jose"), titulo = "Doña Quijota", anyo = 1901)
     l3 = Libro(autor = Autor(id_autor = 3, nombre = "Miguelito", apellido = "Jose Paco"), titulo = "Don Moderno 2040", anyo = 2040)
     l4 = Libro(autor = Autor(id_autor = 4, nombre = "Alejandro", apellido = "Maria"), titulo = "Harry Potter 2020", anyo = 2020) 
     lista = [l1, l2, l3, l4]
     self.assertRaises(examen.mas_antiguo(lista, 1800))
Ejemplo n.º 4
0
 def test_4(self): #--------------- Qué ocurre si el título es none
     l1 = Libro(autor = Autor(id_autor = 1, nombre = "Miguel de Cervantes", apellido = "Saavedra"), titulo = None, anyo = 1522)
     l2 = Libro(autor = Autor(id_autor = 2, nombre = "Miguel", apellido = "Jose"), titulo = "Doña Quijota", anyo = 1901)
     l3 = Libro(autor = Autor(id_autor = 3, nombre = "Miguelito", apellido = "Jose Paco"), titulo = "Don Moderno 2040", anyo = 2040)
     l4 = Libro(autor = Autor(id_autor = 4, nombre = "Alejandro", apellido = "Maria"), titulo = "Harry Potter 2020", anyo = 2020) 
     lista = [l1, l2, l3, l4]
     self.assertRaises(mas_antiguo(lista, 2020))
Ejemplo n.º 5
0
def bookExists():
    libro = Libro(db)
    data = request.get_json(force=True)
    if(libro.exists(data['isbn']) != 'False'):
        return jsonify(libro.JsonExists(data['isbn']))
    else:
        return 'False'
Ejemplo n.º 6
0
def principal():

    # Lectores
    ana = Lector('Ana', 'García')
    roberto = Lector('Roberto', 'Sánchez')

    # Libros
    camino = Libro('El camino', 'Miguel Delibes', 'Mis huevos al viento')
    soledad = Libro('Cien años de soledad', 'Gabriel García Márquez',
                    'Mis huevos al viento')
    rayuela = Libro('Rayuela', 'Julio Cortázar', 'Mis huevos al viento')

    # Prestamos
    prestamo1 = Prestamo(ana, camino)

    print(prestamo1)

    prestamo2 = Prestamo(ana, soledad)
    prestamo3 = Prestamo(roberto, rayuela)

    prestamo_imposible = Prestamo(roberto, soledad)  # Actividad 6.f

    prestamo1.devolver_libro(datetime(2021, 4,
                                      2))  # Devuelto después de 15 días

    print(prestamo1.libro())  # Prestado debería ser False

    print(prestamo1.lector())  # Moroso debería ser True
Ejemplo n.º 7
0
    def test_lista_libros_devuelta(self):

        listaLibros = []
        libro1 = Libro(autor=Autor(id_autor="1",
                                   nombre="Pedro",
                                   apellido="Pujol"),
                       titulo="El tesoro 1",
                       anyo="2006")
        libro2 = Libro(autor=Autor(id_autor="2",
                                   nombre="Juan",
                                   apellido="Pujol"),
                       titulo="El tesoro 2",
                       anyo="2000")
        libro3 = Libro(autor=Autor(id_autor="3",
                                   nombre="Sergio",
                                   apellido="Pujol"),
                       titulo="El tesoro 3",
                       anyo="2003")
        listaLibros.append(libro1)
        listaLibros.append(libro2)
        listaLibros.append(libro3)

        self.assertEqual(mas_antiguos(listaLibros, "2003"),
                         ['El tesoro 2', 'El tesoro 3'])
        self.assertEqual(mas_antiguos(listaLibros, "2004"),
                         ['El tesoro 2', 'El tesoro 3'])
        self.assertEqual(mas_antiguos(listaLibros, "2009"),
                         ['El tesoro 1', 'El tesoro 2', 'El tesoro 3'])
Ejemplo n.º 8
0
 def test_mas_antiguos(self):
     libro1 = Libro(autor = "Pepe", titulo = "Memorias", anyo = 1866)
     libro2 = Libro(autor = "Pepe", titulo = "Memorias 2", anyo = 1969)
     libro3 = Libro(autor = "Pepe", titulo = "Memorias 3", anyo = 2022)
     
     self.assertIsInstance(libro1, Libro)
     self.assertIsInstance(libro2, Libro)
     self.assertIsInstance(libro3, Libro)
Ejemplo n.º 9
0
def registrarLibro():
    libro = Libro(db)
    data = request.get_json(force=True)
    libro.crear(data)
    print(data)
    respuesta = make_response("Hello World")
    respuesta.headers.add("Access-Control-Allow-Origin", "*")
    return respuesta
Ejemplo n.º 10
0
 def test_mas_antiguos(self):
     libros = [
         Libro(1, "Lazarillo", 1352),
         Libro(2, "Quijote", 1462),
         Libro(3, "Hola", 2000)
     ]
     self.assertEqual(mas_antiguos(libros, 1992), ['Lazarillo', 'Quijote'])
     self.assertRaisesRegex(ValueError, "El año no es válido.",
                            mas_antiguos, libros, 1500)
     self.assertRaisesRegex(ValueError, "El año no es válido.",
                            mas_antiguos, libros, 2022)
Ejemplo n.º 11
0
def deleteBook():
    book = Libro(db)
    data = request.get_json(force=True)
    isbn = data['isbn']
    if(book.borrarBook(isbn)):
        respuesta = make_response("Borrado exitoso")
        respuesta.headers.add("Access-Control-Allow-Origin", "*")
        return respuesta
    else:
        respuesta = make_response("Error")
        respuesta.headers.add("Access-Control-Allow-Origin", "*")
        return respuesta
Ejemplo n.º 12
0
 def __init__(self,
              titulo=None,
              editorial=None,
              anio_publicacion=None,
              genero=None,
              edicion=None,
              precio=None,
              duracionLibro=None,
              listaAtributos=None):
     Libro.__init__(self, titulo, editorial, anio_publicacion, genero,
                    edicion, precio)
     self.duracionLibro = duracionLibro
     pass
Ejemplo n.º 13
0
def main():
    producto = Producto(2033, "Producto Genérico", "1 kg", 50)
    alimento = Alimento(2035, "Botella de Aceite de Oliva", "250 ML", 50,
                        "Marca", "Distribuidor")
    adorno = Adorno(2034, "Vaso adornado", "Vaso de porcelana", 34, "De Mesa")
    libro = Libro(2036, "Cocina Mediterránea", "Recetas buenas", 75,
                  "0-123456-78-9", "Autor")

    productos = [producto, alimento, adorno]
    productos.append(libro)

    print("Recorriendo lista de productos:")

    for producto in productos:
        print(producto.referencia, producto.nombre)

    print("Condicional isInstance():")

    for producto_r in productos:
        if (isinstance(producto_r, Adorno)):
            print(producto_r.referencia, producto_r.nombre, producto_r.estilo)
        elif (isinstance(producto_r, Alimento)):
            print(producto_r.referencia, producto_r.nombre,
                  producto_r.productor)
        elif (isinstance(producto_r, Libro)):
            print(producto_r.referencia, producto_r.nombre, producto_r.isbn)

    print("Rebajar lista de productos:")

    for producto_r in productos:
        producto_r.rebajar_producto(10)
        print(producto_r)
Ejemplo n.º 14
0
 def agregarlibro(self, libro):
     if (self.__cantidad == self.__dimension):
         self.__dimension += self.__incremento
         self.__arreglo.resize(self.__dimension)
     self.__arreglo[self.__cantidad] = Libro(libro[0], libro[1], libro[2],
                                             libro[3], libro[4], libro[5])
     self.__cantidad += 1
Ejemplo n.º 15
0
def cargarAlSistema(sistema):
    x = sistema
    nombre_archivo = input(
        "\nIngrese el nombre del archivo que desea cargar: ")
    if path.exists(nombre_archivo):
        f = open(nombre_archivo, "rb")
        x = load(f)
        f.close()
        #print(sistema)
        print("El archivo " + nombre_archivo + " se ha cargado exitosamente.")
        n = len(mostrar_de_catalogo("", x))
        m = len(x.get_usuarios())
        Libro.set_cuenta(n)
        u.Usuario.set_cuenta(m)
    else:
        print("El archivo {} no existe.".format(nombre_archivo))
    return x
Ejemplo n.º 16
0
def recuperarLibros():
    libro = Libro(db)
    isbn = request.args.get('filtro')

    name = request.args.get('nombre')

    if name != None:
        result = libro.searchBookByName(name)
        return jsonify(result)


    if isbn == None:
        result = libro.mostrarAll()
        print(result)
        return jsonify(result)
    else:
        result = libro.searchBookByIsbn(isbn)
        return jsonify(result)
Ejemplo n.º 17
0
 def set_up(self):
     self.__l1 = Libro(autor=Autor(id_autor=1,
                                   nombre="Adrian",
                                   apellido="Vaello"),
                       titulo="Las leyendas de pepe",
                       anyo=2021)
     self.__l2 = Libro(autor=Autor(id_autor=2,
                                   nombre="Nacho",
                                   apellido="kajs"),
                       titulo="Las historias de aroon",
                       anyo=2014)
     self.__l3 = Libro(autor=Autor(id_autor=3,
                                   nombre="Stephen",
                                   apellido="Vaello"),
                       titulo="Harry potter",
                       anyo=1878)
     self.__lista_libros = [self.__l1, self.__l2, self.__l3]
     self.__masantiguos = mas_antiguos
Ejemplo n.º 18
0
    def eliminarLibro(self):
        libro = self.listWidget.currentItem()
        if libro is not None:

            datos = libro.text().split("/")
            self.hash.eliminar(datos[0])

            libro = Libro(*datos)
            eliminar("libros.lib", libro)
            self.listWidget.takeItem(self.listWidget.currentRow())
Ejemplo n.º 19
0
def obtenerBaseDatosLibros(ruta):
    try:
        baseDatosLibros = open(ruta, "r")
        estructuraDeDatos = []
        linea = baseDatosLibros.readline()
        #print(linea)
        #print(type(linea))
        #1raForma de hacerlo metodo slip() para cadenas
        #listaPalbras2daForma = linea.split(sep = ',')
        #print(listaPalbras2daForma)
        #2daForma de hacer
        #Si no existiera el split()->String seria hacerlo manual:
        while (linea):
            palabra = ''
            listaPalabras = []
            count = 0
            for char in linea:
                count += 1  #Esto es porque al final no termina en ',' por lo tanto no se guarda la ultima palabra,
                #existen varias formas de corregirlo una es modificar el toString de libro y que termine en ',' o esta forma saber cual es la ultima linea
                if char == ',':
                    listaPalabras.append(palabra)
                    palabra = ''  #inicializo nuevamente en ceros
                elif char == ' ':
                    #Como tambien puse despues de la coma un espacio
                    #tambien hay que eliminarlo
                    pass
                elif count == len(
                        linea
                ):  #con esto identificamos cual es la ultima linea,
                    #y agregamos la ultima palabra que falta, significa que ya no hay mas char que leer termino de leer,
                    #print("entro")
                    listaPalabras.append(palabra)
                    pass
                else:
                    palabra += char

            #print(listaPalabras)
            book = Libro(listaAtributos=listaPalabras)
            #print(book)
            estructuraDeDatos.append(book)
            linea = baseDatosLibros.readline()

        #print(estructuraDeDatos)
        return estructuraDeDatos

    except:
        print("Error al abrir")
        #return None
    finally:
        baseDatosLibros.close()
Ejemplo n.º 20
0
    def test_anyo_valido(self):

        listaLibros = []
        libro1 = Libro(autor=Autor(id_autor="1",
                                   nombre="Pedro",
                                   apellido="Pujol"),
                       titulo="El tesoro 1",
                       anyo="2006")
        libro2 = Libro(autor=Autor(id_autor="2",
                                   nombre="Juan",
                                   apellido="Pujol"),
                       titulo="El tesoro 2",
                       anyo="2000")
        libro3 = Libro(autor=Autor(id_autor="3",
                                   nombre="Sergio",
                                   apellido="Pujol"),
                       titulo="El tesoro 3",
                       anyo="2003")
        listaLibros.append(libro1)
        listaLibros.append(libro2)
        listaLibros.append(libro3)

        self.assertRaisesRegex(ValueError, "El anyo no es valido",
                               mas_antiguos, listaLibros, "1800")
Ejemplo n.º 21
0
 def buscarPorDoc(docu):
     conexion = conectar()
     c = ejecutar(
         "select * from lectores where documento = '" + str(docu) + "';", 0,
         conexion)
     c2 = ejecutar(
         "select libros.libro_id, libros.titulo, libros.editorial, libros.autor from lectores inner join retiros on retiros.lector_id = lectores.lector_id inner join libros on retiros.libro_id = libros.libro_id where documento ='"
         + str(docu) + "';", 0, conexion)
     listaLibros = []
     for elem2 in c2:
         miLib = Libro(elem2[1], elem2[3], elem2[2], elem2[0])
         listaLibros.append(miLib)
     for elem in c:
         lector = Lector(elem[3], elem[1], elem[2], elem[0], listaLibros)
     cerrar(conexion)
     return lector
Ejemplo n.º 22
0
 def listenerRegistro(self):
     if not self.estan_camposCorrectos():
         messagebox.showerror("error", "Debe de rellenar todos los campos")
     else:
         new_book = Libro(self.titulo.get(), self.editorial.get(),
                          self.anioPublicacion.get(), self.genero.get(),
                          self.edicion.get(), self.precio.get())
         #print(new_book)
         try:
             archivo = open("baseDatosLibros.txt", "a+")
             archivo.write(str(new_book))
             archivo.write("\n")
             #Si no esta repetido mandar mensaeje que registro el libro correctamente
             messagebox.showinfo("information",
                                 "Se ha registrado el libro correctamente")
         except FileNotFoundError:
             print("Archivo no encontrado")
Ejemplo n.º 23
0
from lector import Lector
from libro import Libro
from prestamo import Prestamo
from datetime import datetime

lector1 = Lector(1, "Ana", "García")
lector2 = Lector(2, "Roberto", "Sánchez")
libro1 = Libro(0, "El camino", "Miguel Delibes", "Salvat")
libro2 = Libro(1, "Cien años de soledad", "Gabriel García Márquez", "Planeta")
libro3 = Libro(2, "Rayuela", "Julio Cortázar", "Planeta")

prestamo1 = Prestamo(lector1, libro1, datetime(2021, 2, 22))
prestamo2 = Prestamo(lector1, libro2, datetime(2021, 2, 23))
prestamo3 = Prestamo(lector2, libro3, datetime(2021, 2, 1))
"""
print(f'El lector número {lector2.numero()} es moroso: {lector1.moroso()}')
prestamo3.devolver_libro(datetime(2021, 2, 10))
print(f'El lector número {lector2.numero()} es moroso: {lector1.moroso()}')
"""

print(
    f'El lector {lector1.nombre()} {lector1.apellidos()} es moroso: {lector1.moroso()}'
)
prestamo1.devolver_libro(datetime(2022, 4, 22))
print(
    f'El lector {lector1.nombre()} {lector1.apellidos()} es moroso: {lector1.moroso()}'
)
Ejemplo n.º 24
0
from utils import *
from libro import Libro
from view import Form

__author__ = 'Daniel Cruz <*****@*****.**>'

s_opc = [
    'Consulta, agrega libro', 'Prestamo, devolucion', 'Ver catalogo',
    'Busca libro', 'Salir'
]

if __name__ == '__main__':
    f = Form()
    l = Libro({})
    l.crea()
    while True:
        opc = f.menu(s_opc, 'Opciones')
        if opc != 4:
            l = Libro({})
            if opc in (0, 1):
                s = str_to_dict(f.entrada_qr())
                l = Libro(s)
                if l.existe_libro():
                    if opc == 1:
                        l.actualiza()
                else:
                    l.agrega()
                l.existe_libro()
                f.menu(dict_to_list(l.data), 'Titulo')
            if opc == 2:
                tit = []
Ejemplo n.º 25
0
        while True:
            try:
                valoracion = int(input("Introduce la valoracion: "))
                if valoracion <0 or valoracion >10:
                    print("------------------------------------------")
                    print("La valoracion tiene que estar entre 0 y 10")
                    print("------------------------------------------")
                else:
                    break
            except ValueError:
                print("--------------------------")
                print("La valoracion no es valida")
                print("--------------------------")

        libro = Libro(isbn,titulo,autor,paginas)
        libro.setValoracion(valoracion)
        if con.anyadirLibro(libro):
            print("El libro ",libro.getISBN()," ha sido anyadido correctamente")
        else:
            print("El libro ya exsiste!!")

    if op == 2:
        while True:
            try:
                isbn = int(input("Introduce el ISBN: "))
                if isbn == 0:
                    print("----------------------")
                    print("El ISBN no puede ser 0")
                    print("----------------------")
                else:
from libro import Libro
from disco import Disco
from revista import Revista
from librero import Librero
from comic import Comic
from manga import Manga
miLibrero = Librero()

miLibrero.agregaLibro(Libro(autor="korth", titulo="bases",
                            editorial="Pearson"))

# Disco
miLibrero.agregaDisco(
    Disco(interprete="Ricardo Montaner",
          titulo="Vuelve Conmigo",
          album="Ida y Vuelta Edición Especial",
          anio=2017))
miLibrero.agregaDisco(
    Disco(interprete="Michael Jackson",
          titulo="Bllie Jean",
          album="Thriller",
          anio=1983))
miLibrero.agregaDisco(
    Disco(interprete="Zara Larsson",
          titulo="Lush Life",
          album="So Good",
          anio=2017))
miLibrero.agregaDisco(
    Disco(interprete="Hailee Steinfeld",
          titulo="Love Myself",
          album="Haiz",
Ejemplo n.º 27
0
        if opcion == 1:
            nombre = input("Nombre de la biblioteca: ")
            biblioteca = Biblioteca(nombre)

            print("Se creo la biblioteca: {}".format(
                biblioteca.consultar_nombre_biblioteca))

        elif opcion == 2:
            titulo = input("Titulo: ")
            autor = input("Autor: ")
            cantidad_de_paginas = input("Paginas: ")
            genero = input("Genero: ")
            sinopsis = input("Sinopsis: ")

            libro = Libro(titulo, autor, cantidad_de_paginas, genero, sinopsis)
            biblioteca.agregar_libro(libro)

        elif opcion == 3:
            print("Catalogo de libros: ")
            for i in biblioteca.consultar_libros():
                print(i)

        elif opcion == 4:
            indice = input("Id del libro a eliminar: ")
            biblioteca.quitar_libro(indice)

        elif opcion == 5:
            ejecutar = False

        else:
Ejemplo n.º 28
0
class Biblioteca:
	
	def __init__(self, nombAr, modo):
		self.nombreArchivo = nombAr
		self.estanteria = open(self.nombreArchivo, modo)
		self.libro = Libro("", "", "", "")

	def modEstanteria(self, modo):
		self.estanteria = open(self.nombreArchivo, modo)

	def numLibros(self):
		self.modEstanteria("r")
		n = len(self.estateria.readlines())
		self.estanteria.close()
		return n;

	def yaAgregado(self):
		with open(self.nombreArchivo) as est:
			libros = est.readlines()
			for l in libros:
				l.lower()
			if(", ISBN: "+self.libro.getISBN()+"\n").lower() in libros:
				return True
			else:
				return False

	def listarLibros(self):
		self.modEstanteria("r")
		print(self.estanteria.read())
		self.estanteria.close()

	def agregarLibro(self):
		self.libro.setTitulo(input("Introduzca el título:\n"))
		self.libro.setAutor(input("Introduzca el autor:\n"))
		self.libro.setEditorial(input("Introduzca la editorial:\n"))
		self.libro.setISBN(input("Introduzca el I.S.B.N.:\n"))
		if(self.yaAgregado()):
			print("El libro indicado ya se había agregado anteriormente.")
		else:
			self.modEstanteria("at")
			self.estanteria.write("Título: "+self.libro.getTitulo()+", Autor: "+self.libro.getAutor()+", Editorial: "+self.libro.getEditorial()+", ISBN: "+self.libro.getISBN()+"\n")
			self.estanteria.close()
			print("Libro agregado con éxito.")
		self.libro.setTitulo("")
		self.libro.setAutor("")
		self.libro.setEditorial("")
		self.libro.setISBN("")

	def consultarLibro(self):
		opcion = int(input("¿Buscar por Título o por Autor? [1: Título; 2: Autor] (Introduce el número de la opción):\n"))
		while(opcion<1 or opcion>2):
			opcion = int(input("Fuera de rango.\n¿Buscar por Título o por Autor? [1: Título; 2: Autor] (Introduce el número de la opción):\n"))
		if(opcion==1):
			self.libro.setTitulo(input("Introduzca el título:\n"))
			if(self.yaAgregado()):
				with open(self.nombreArchivo) as est:
					libros = est.readlines();
					l.lower() for l in libros
					for l in libros:
						if ("Título: "+self.libro.getTitulo()).lower() in l:
							print(l);
			else:
				print("Libro no encontrado.");
		elif(opcion==2):
			self.libro.setAutor(input("Introduzca el autor:\n"))
			if(self.yaAgregado()):
				with open(self.nombreArchivo) as est:
					libros = est.readlines()
					l.lower() for l in libros
					for l in libros:
						if ("Autor: "+self.libro.getAutor()).lower() in l:
							print(l)
			else:
				print("Libro no encontrado.")
	self.libro.setTitulo("")
	self.libro.setAutor("")
Ejemplo n.º 29
0
def turnUnic():
    libro = Libro(db)
    data = request.get_json(force=True)
    isbn = data['isbn']
    return str(libro.turnIntoUnic(isbn))
Ejemplo n.º 30
0
	def __init__(self, nombAr, modo):
		self.nombreArchivo = nombAr
		self.estanteria = open(self.nombreArchivo, modo)
		self.libro = Libro("", "", "", "")
Ejemplo n.º 31
0
from utils import *
from libro import Libro
from view import Form

__author__ = 'Daniel Cruz <*****@*****.**>'

s_opc = [ 'Consulta, agrega libro', 
          'Prestamo, devolucion',
          'Ver catalogo',
          'Busca libro',
          'Salir'
        ]

if __name__ == '__main__':
  f = Form()
  l = Libro({})
  l.crea()
  while True:
    opc = f.menu(s_opc, 'Opciones')
    if opc != 4:
     l = Libro({})
     if opc in (0,1):
       s = str_to_dict(f.entrada_qr())
       l = Libro(s)
       if l.existe_libro():
          if opc == 1:
            l.actualiza()
       else:
          l.agrega()
       l.existe_libro()
       f.menu(dict_to_list(l.data), 'Titulo')