def render_historial(): set_db() books = history() areChapter = [] availables = [] today = dt.datetime.now() for book in books: if 'cap' in book['archivo']: #Forma de saber si es un cap, o el libro entero areChapter.append(True) isbn = book['isbn'] num = int(re.search(r'\d+', book['archivo']).group(0)) cap = Book.find_chapter_by_isbn(isbn, num) book['titulo'] = book['titulo'] + '\nCap ' + str(num) canRead = cap['available_from'] < today and ((cap['available_to'] is None) or cap['available_to'] > today) availables.append(canRead) else: areChapter.append(False) bok = Book.find_by_isbn(book['isbn']) canRead = validate_date(bok['isbn']) availables.append(canRead) i = int(request.args.get('i',0)) Configuracion.db = get_db() pag=Configuracion.get_page_size() if (i == -1): i=0 elif (i*pag >= len(books)): i = i - 1 adm = "configuracion_usarInhabilitado" in session['permisos'] #Permiso que solo tiene un administrador return render_template('books/history.html', books=books, i=i, pag=pag, adm=adm, availables=availables, areChapter=areChapter)
def date_book(isbn): set_db() if (Book.find_by_isbn(isbn) is None): Book.updateDate_allChap(isbn, request.form) else: Book.updateDate_book(isbn, request.form) return redirect(url_for("book_menu"))
def validate_date(isbn): set_db() complete = Book.is_complete(isbn) if complete: book = Book.find_by_isbn(isbn) today = dt.datetime.now()#.strfstrftime("%Y-%m-%d") if book is None: caps = Book.allChapter(isbn) for cap in caps: if cap['available_to'] is not None and today > cap['available_to']: print("Se encontro un capitulo vencido") return False if cap['available_from'] is not None and today < cap['available_from']: print("Se encontro un capitulo no disponible") return False print("Ningun Capitulo se vencio") return True else: if book['available_to'] is not None and today > book['available_to']: print("El libro esta vencido") return False if book['available_from'] is not None and today < book['available_from']: print("El libro aun no esta disponible") return False else: print("El libro no esta vencido") return True else: print("Aun no se cargo el libro") return False
def delete(isbn): set_db() filename = Book.find_by_isbn(isbn)['archivo'] if filename is not None and filename in os.listdir(static_path+book_name): book_name = filename[:-9] #el nombre del archivo es el titulo + _full.pdf os.remove(static_path+book_name+'/'+filename) Book.mark_incomplete(isbn) Book.delete(isbn) flash("Archivo eliminado") else: flash("No hay un libro completo cargado") return redirect(url_for("book_menu"))
def date_render_book(isbn): print("cambiar fecha de todo") Book.db = get_db() book = Book.find_by_isbn(isbn) if book is not None: available_from = book['available_from'].strftime("%Y-%m-%d") available_to = book['available_to'].strftime("%Y-%m-%d") if book['available_to'] is not None else '' else: available_from = '' available_to = '' print(available_from) print(available_to) adm = "configuracion_usarInhabilitado" in session['permisos'] #Permiso que solo tiene un administrador return render_template('books/modificar_total.html',adm=adm, isbn=isbn, available_from=available_from, available_to=available_to)
def validate_book_isbn(isbn): book = Book.find_by_isbn(isbn) return book == None
def date_menu(isbn): set_db() capitulos = Book.allChapter(isbn) libro = Book.find_by_isbn(isbn) return render_template('books/modificar_menu.html', isbn=isbn, capitulos=capitulos, libro=libro)
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"))