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 validate(name): validate = True autores = Autor.all() for user in autores: if user.get('nombre').lower() == name.lower(): validate = False break return validate
def allMeta(cls): sql = 'SELECT * FROM metadato' cursor = cls.db.cursor() cursor.execute(sql) metas = cursor.fetchall() for meta in metas: meta['autor_id'] = Autor.find_by_id(meta['autor_id'])['nombre'] meta['editorial_id'] = Editorial.find_by_id(meta['editorial_id'])['nombre'] meta['genero_id'] = Genero.find_by_id(meta['genero_id'])['nombre'] return metas
def load_meta(): set_db() 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'] 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'] 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'] if validate_meta_isbn(request.form['isbn']): Book.loadMeta(request.form, autor_id, Editorial_id, Genero_id) flash("Metadatos cargados") else: flash("Ya existe un libro con el mismo ISBN") return redirect(url_for("book_meta")) return redirect(url_for("book_menu"))
def create(): set_db() if validate(request.form.get('nombre')): Autor.create(request.form) flash("Autor cargado") return redirect(url_for("book_menu"))
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"))
def render_meta(): set_db() autores = list(map(lambda autor: autor['nombre'],Autor.all())) editoriales = list(map(lambda editorial: editorial['nombre'],Editorial.all())) generos = list(map(lambda genero: genero['nombre'],Genero.all())) return render_template('books/new_meta.html', autores=autores, editoriales=editoriales, generos=generos)