def create_chapter(isbn): set_db() print("Crea cap") if not Book.is_complete(isbn): if request.files: archivo = request.files['archivo'] book_name = Book.find_meta_by_isbn(isbn)['titulo'] chapter_name = book_name + "_cap_"+str(request.form['num'])+".pdf" if not os.path.exists(static_path+book_name): os.mkdir(static_path+book_name) if validate_chapter_isbn(isbn, request.form['num']): archivo.save(os.path.join(static_path+book_name, chapter_name)) Book.create_chapter(request.form, chapter_name,isbn) else: flash("El capitulo ya fue cargado")#+str(request.form['num']+ return redirect(url_for("book_new_chapter", isbn=isbn)) if request.form['completo']=="True": Book.mark_complete(isbn) merger(book_name) flash("Capitulo cargado") else: flash("Ya se cargo todo el libro") print("Hizo todo") return redirect(url_for("book_menu"))
def open_cap(isbn, num): print("abro capitulo") set_db() historial = Book.get_last_read(session['perfil']) #ACA SERIA session['perfil'] titulo = Book.find_meta_by_isbn(isbn)['titulo'] nombre = titulo+"_cap_"+str(num) Book.record_open(nombre, session['perfil'], dt.datetime.now().strftime("%Y-%m-%d %H:%M:%S"), isbn, titulo) #ACA SERIA session['perfil'] return render_template('books/abrirlibro.html', titulo=titulo, nombre=nombre)
def open_cap_menu(isbn): set_db() capitulos = Book.allChapter(isbn) today = dt.datetime.now() noDisponibles = list(map(lambda cap: cap['available_from'] > today, capitulos)) vencidos = list(map(lambda cap: ((cap['available_to'] is not None) and cap['available_to'] < today), capitulos)) titulo = Book.find_meta_by_isbn(isbn)['titulo'] return render_template('books/abrir_cap_menu.html',isbn=isbn, capitulos=capitulos, noDisponibles=noDisponibles, vencidos=vencidos, titulo=titulo)
def open_book(isbn): #aca abre el libro guardado print("abro") set_db() historial = Book.get_last_read(session['perfil']) #ACA SERIA session['perfil'] print(historial) titulo = Book.find_meta_by_isbn(isbn)['titulo'] nombre = titulo+"_Full" print(nombre) Book.record_open(nombre, session['perfil'], dt.datetime.now().strftime("%Y-%m-%d %H:%M:%S"), isbn, titulo) #ACA SERIA session['perfil'] return render_template('books/abrirlibro.html', titulo=titulo, nombre=nombre)
def remove_meta(isbn): set_db() book_name = Book.find_meta_by_isbn(isbn)['titulo'] if os.path.isdir(static_path+book_name): shutil.rmtree(static_path+book_name) Book.delete(isbn) Book.delete_all_chapter(isbn) Book.delete_records(isbn) Book.deleteMeta(isbn) #Va a haber que eliminar todas las rese;as, todo todo return redirect(url_for("book_menu"))
def edit_meta(isbn): set_db() autores = Autor.all() editoriales = Editorial.all() generos = Genero.all() book=Book.find_meta_by_isbn(isbn) book['autor'] = Autor.find_by_id(book['autor_id'])['nombre'] book['editorial'] = Editorial.find_by_id(book['editorial_id'])['nombre'] book['genero'] = Genero.find_by_id(book['genero_id'])['nombre'] print(book) return render_template('books/edit_meta.html',book=book, isbn=isbn, autores=autores, editoriales=editoriales, generos=generos)
def new_chapter(isbn): set_db() if not Book.is_complete(isbn): titulo = Book.find_meta_by_isbn(isbn)['titulo'] today = dt.datetime.now().strftime("%Y-%m-%d") return render_template('books/new_chapter.html', isbn=isbn, titulo=titulo, today=today) else: if validate_book_isbn(isbn): flash("Ya se cargaron todos los capitulos") else: flash("Ya se cargó el libro") return redirect(url_for("book_menu"))
def new(isbn): set_db() if validate_book_isbn(isbn): caps = Book.allChapter(isbn) if(caps==()): titulo = Book.find_meta_by_isbn(isbn)['titulo'] today = dt.datetime.now().strftime("%Y-%m-%d") return render_template('books/new.html', isbn=isbn, titulo=titulo, today=today) else: flash("Ya se han cargado capitulos") else: flash("Ya hay un libro cargado") return redirect(url_for("book_menu"))
def delete_chapter(isbn, num): set_db() filename = Book.find_chapter_by_isbn(isbn, num)['archivo'] book_name = Book.find_meta_by_isbn(isbn)['titulo'] if filename is not None and filename in os.listdir(static_path+book_name): os.remove(static_path+book_name+'/'+filename) if Book.is_complete(isbn): os.remove(static_path+book_name+'/'+book_name+'_Full.pdf') Book.mark_incomplete(isbn) Book.delete_chapter(isbn, num) flash("Archivo eliminado") else: flash("Algo raro paso") return redirect(url_for("book_menu"))
def create(isbn): #Crea / Guarda un archivo de libro set_db() if validate_book_isbn(isbn) and not Book.is_complete(isbn): if request.files: archivo = request.files['archivo'] book_name = Book.find_meta_by_isbn(isbn)['titulo'] if not os.path.exists(static_path+book_name): os.mkdir(static_path+book_name) archivo.save(os.path.join(static_path+book_name, book_name+"_Full.pdf")) Book.create(request.form, book_name+"_Full.pdf",isbn) Book.mark_complete(isbn) print(Book.is_complete(isbn)) flash("Libro cargado") else: flash("Ya existe un libro con el mismo ISBN") return redirect(url_for("book_menu"))
def new_asociado(isbn): set_db() libro = Book.find_meta_by_isbn(isbn) user_id= session['usuario_id'] return render_template('trailers/newAsociado.html', libro=libro, isbn=isbn, user_id=user_id)
def validate_meta_isbn(isbn): book = Book.find_meta_by_isbn(isbn) return book == None
def open_any(isbn, name): Book.db = get_db() titulo = Book.find_meta_by_isbn(isbn)['titulo'] Book.record_open(name, session['perfil'], dt.datetime.now().strftime("%Y-%m-%d %H:%M:%S"), isbn, titulo) #ACA SERIA session['perfil']) return render_template('books/abrirlibro.html', titulo=titulo, nombre=name)
def load_edit_meta(isbn): set_db() book = Book.find_meta_by_isbn(isbn) book_data = {} book_data['titulo'] = request.form.get('titulo') if (request.form.get('titulo') != '') else book['titulo'] book_data['sinopsis'] = request.form.get('sinopsis') if (request.form.get('sinopsis') != '') else book['sinopsis'] if request.form.get('autor') != '': print("se carga lo ingresado") autor = Autor.find_by_name(request.form['autor']) if autor == None: new_autor =request.form['autor'] Autor.create({'nombre':new_autor}) autor_id = Autor.find_by_name(new_autor)['id'] else: autor_id = autor['id'] else: print("Se carga lo previo") autor_id = book['autor_id'] if request.form.get('editorial') != '': print("se carga lo ingresado") editorial = Editorial.find_by_name(request.form['editorial']) if editorial == None: new_Editorial =request.form['editorial'] Editorial.create({'nombre':new_Editorial}) Editorial_id = Editorial.find_by_name(new_Editorial)['id'] else: Editorial_id = editorial['id'] else: print("Se carga lo previo") Editorial_id = book['editorial_id'] if request.form.get('genero') != '': print("se carga lo previo") genero = Genero.find_by_name(request.form['genero']) if genero == None: new_Genero =request.form['genero'] Genero.create({'nombre':new_Genero}) Genero_id = Genero.find_by_name(new_Genero)['id'] else: Genero_id = genero['id'] else: print("Se carga lo previo") Genero_id = book['genero_id'] modified = False for key in request.form.keys(): if (request.form.get(key) != ''): modified = True break if request.form['completo']=="True": if Book.find_by_isbn(isbn) is None: Book.mark_complete(isbn) merger(book_data['titulo']) Book.updateMeta(book_data, isbn, autor_id, Editorial_id, Genero_id) if modified: flash("Datos modificados correctamente") else: flash("No se Ingresó ningún dato, no se modifcó el metadato") return redirect(url_for("book_menu"))