コード例 #1
0
ファイル: book.py プロジェクト: magnitou/Bookflix_ing2
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"))
コード例 #2
0
ファイル: book.py プロジェクト: magnitou/Bookflix_ing2
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)
コード例 #3
0
ファイル: book.py プロジェクト: magnitou/Bookflix_ing2
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)
コード例 #4
0
ファイル: book.py プロジェクト: magnitou/Bookflix_ing2
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)
コード例 #5
0
ファイル: book.py プロジェクト: magnitou/Bookflix_ing2
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"))
コード例 #6
0
ファイル: book.py プロジェクト: magnitou/Bookflix_ing2
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)
コード例 #7
0
ファイル: book.py プロジェクト: magnitou/Bookflix_ing2
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"))
コード例 #8
0
ファイル: book.py プロジェクト: magnitou/Bookflix_ing2
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"))
コード例 #9
0
ファイル: book.py プロジェクト: magnitou/Bookflix_ing2
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"))
コード例 #10
0
ファイル: book.py プロジェクト: magnitou/Bookflix_ing2
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"))
コード例 #11
0
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)
コード例 #12
0
ファイル: book.py プロジェクト: magnitou/Bookflix_ing2
def validate_meta_isbn(isbn):
    book = Book.find_meta_by_isbn(isbn)
    return book == None
コード例 #13
0
ファイル: book.py プロジェクト: magnitou/Bookflix_ing2
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)
コード例 #14
0
ファイル: book.py プロジェクト: magnitou/Bookflix_ing2
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"))