def upload(self, libro_id): libro = Libro.id(libro_id) pdate = datetime.strptime(request.form["fechaPublicacion"], "%Y-%m-%d") errores = [] if pdate.date() < libro["fecha_publicacion"]: errores.append( "La fecha de publicación no puede ser anterior a la del libro ", libro["fecha_publicacion"]) if "fechaVencimiento" in request.form and request.form[ "fechaVencimiento"]: vdate = datetime.strptime(request.form["fechaVencimiento"], "%Y-%m-%d") if libro["fecha_vencimiento"][0] != '0': lvdate = datetime.strptime(libro["fecha_vencimiento"], "%Y-%m-%d") else: lvdate = None if lvdate and vdate.date() > lvdate.date(): errores.append( "Fecha de vencimiento ingresada es mayor que la fecha de vencimiento del libro" ) elif vdate.date() < pdate.date(): errores.append( "Fecha de vencimiento ingresada es menor que la fecha de publicación" ) else: vdate = None if (len(errores) == 0): pdfpath = self.gen_path('archivo') Capitulo.crear(libro_id, pdate, pdfpath) return errores #redirect (url_for("libro", libro_id=libro_id))
def edit(self, libro_id, errores=[]): libro = Libro.id(libro_id) editoriales = Editorial.all() generos = Genero.all() autores = Author.all_active() return render_template('libros/editar.html', libro=libro, editoriales=editoriales, generos=generos, autores=autores, errores=errores)
def libro(self, libro_id): try: int(libro_id) except: abort(404) libro = Libro.id(libro_id) autor = Author.id(libro["autor"]) genero = Genero.encontrar_por_id(libro["genero"]) editorial = Editorial.id(libro["editorial"]) reseñas = Reseña.reseñas_de_un_libro_con_id(libro_id) capitulos = Capitulo.libro(libro_id) perfil_tiene_reseña = False perfil_leyo_el_libro = False cantidad = Libro.obtenerCantidadDeReseñasDeUnLibro( libro_id)[0]['cantidad'] total = Libro.obtenerCalificacionTotalDeUnLibro(libro_id)[0]['total'] promedio = 0 if (cantidad != 0): promedio = round((total / cantidad), 2) if "perfil_id" in session and not session["admin"]: perfil_id = session["perfil_id"] leido = Libro.leido(libro_id, perfil_id) leyendo = Libro.leyendo(libro_id, perfil_id) favorito = Libro.favorito(libro_id, perfil_id) if Libro.el_perfil_dio_una_reseña_al_libro(session['perfil_id'], libro_id): perfil_tiene_reseña = True if Libro.el_perfil_leyo_el_libro(session['perfil_id'], libro_id): perfil_leyo_el_libro = True else: leido = None favorito = None leyendo = None return render_template('libros/show.html', libro=libro, autor=autor, genero=genero, editorial=editorial, capitulos=capitulos, leido=leido, favorito=favorito, leyendo=leyendo, reseñas=reseñas, perfil_tiene_reseña=perfil_tiene_reseña, perfil_leyo_el_libro=perfil_leyo_el_libro, promedio=promedio)
def edit_book(self, libro_id): libro = Libro.id(libro_id) isbn = request.form.get('isbn', '') pdate = datetime.strptime(request.form["fechaPublicacion"], "%Y-%m-%d") if "fechaVencimiento" in request.form and request.form[ "fechaVencimiento"]: vdate = datetime.strptime(request.form["fechaVencimiento"], "%Y-%m-%d") else: vdate = None errores = [] if isbn != libro["isbn"] and Libro.existe_isbn(isbn): errores.append("ISBN Repetido") if vdate and vdate <= pdate: errores.append("Fecha de vencimiento incorrecta") if (len(errores) != 0): return self.edit(libro_id, errores) imgpath = self.check_path(libro, 'portada', 'ruta_img') Libro.edit(request.form, imgpath, libro_id) return redirect(url_for("libro_index"))
def new_completo_capitulo(self, libro_id): libro = Libro.id(libro_id) pdfpath = self.gen_path('archivo') Capitulo.crear(libro_id, libro["fecha_publicacion"], pdfpath) Libro.completo(libro_id) return redirect(url_for("libro", libro_id=libro_id))