Exemplo n.º 1
0
def user_login():
    os.system("cls")

    print("SHARRING BOOKS - LOGIN: "******"INFORME O USERNAME: "******"INFORME A SENHA DE ACESSO: ")

    sql = f"SELECT * FROM tb_user WHERE username = '******'"

    result_login = exec_select(sql)
    if (len(result_login) == 0):
        print("Usuário não encontrado!")
        input()
        return False
    elif (len(result_login) == 1):
        if (password == result_login[0][4]):
            usuario = User(result_login[0][0], result_login[0][1],
                           result_login[0][2], result_login[0][3],
                           result_login[0][4], result_login[0][5])
            print(f'Bem-vindo, {usuario.first_name}')
            return usuario
        else:
            input()
            print("SENHA INCORRETA!")
    else:
        print("Falha na autenticação!")
        input()
        return False
Exemplo n.º 2
0
def list_my_books(user):
    os.system("cls")
    sql = f"SELECT * FROM tb_book WHERE id_owner = {user.id} ORDER BY id_book"
    livros = (exec_select(sql))
    for livro in livros:
        print(
            f"ID: {livro[0]}\nNome: {livro[1]}\nAno: {livro[2]}\nAutor: {livro[3]}\n"
        )
Exemplo n.º 3
0
def lista_book_disponível_user(user):
    sql = f"""SELECT bk.id_book, bk.book_name, bk.year, bk.author, bk.id_owner 
                FROM tb_book AS bk 
                LEFT JOIN tb_loan AS ln
                ON bk.id_book = ln.id_book
                WHERE bk.id_owner = {user.id} AND ln.id_book IS NULL;"""
    livros = exec_select(sql)
    if len(livros) == 0:
        print("Você não possui nenhum livro disponível para empréstimo!")
        return False
    else:
        print("SEUS LIVROS DISPONÍVEIS PARA EMPRÉSTIMO:\n")
        for livro in livros:
            print(
                f"ID: {livro[0]}\nNome: {livro[1]}\nAno: {livro[2]}\nAutor: {livro[3]}\n"
            )
        return True
Exemplo n.º 4
0
def user_login_tela(username, password):

    sql = f"SELECT * FROM tb_user"

    result_login = exec_select(sql)
    if (len(result_login) == 0):
        print("Usuário não encontrado!")
        return False
    elif (len(result_login) >= 1):
        for resultado in result_login:
            if (password == resultado[4] and username == resultado[5]):
                usuario = User(resultado[0], resultado[1], resultado[2],
                               resultado[3], resultado[4], resultado[5])
                print(f'Bem-vindo, {usuario.first_name}')
                return usuario
    else:
        print("Falha na autenticação!")
        return False
Exemplo n.º 5
0
def lista_livro_emprestimo(usuario):
    os.system("cls")
    sql = f"""SELECT bk.book_name, bk.author, bk.year, ln.id_loan, ln.id_book, ln.coletion_location  
                FROM tb_loan AS ln
                LEFT JOIN tb_book AS bk
                ON ln.id_book = bk.id_book
                WHERE ln.id_lender IS NULL AND ln.id_user != {usuario.id}"""
    livros = exec_select(sql)
    if len(livros) > 0:
        print("LIVROS DISPONÍVEIS PARA EMPRESTIMO: \n")
        for livro in livros:
            print(
                f"ID: {livro[3]}\nNome livro: {livro[0]}\nAutor: {livro[1]}\nAno de lançamento: {livro[2]}\nLocal para coleta: {livro[5]}\n\n"
            )
        return True, livros
    else:
        print("Não há livros disponíveis para empréstimo.")
        input()
        return False
Exemplo n.º 6
0
def lista_livros_devolucao(user):
    os.system("cls")
    sql = f"""SELECT bk.book_name, bk.author, bk.year, ln.id_loan, ln.id_user, ln.id_book
                FROM tb_loan AS ln
                LEFT join tb_book AS bk
                ON ln.id_book = bk.id_book
                WHERE ln.id_lender = {user.id} AND ln.status = 'EMPRESTADO'"""
    livros = exec_select(sql)
    if len(livros) > 0:
        print("Livros que você ainda não devolveu: \n")
        for livro in livros:
            print(
                f"ID: {livro[3]}\nNome livro: {livro[0]}\nAutor: {livro[1]}\nAno: {livro[2]}"
            )

        return True
    else:
        print("Você não possui nenhum livro para devolução.")
        input()
        return False
Exemplo n.º 7
0
def list_all_books(user):
    os.system("cls")
    sql = f"""SELECT 
                us.first_name, us.last_name, 
                bk.book_name, bk.author, bk.year,
                ln.coletion_location, ln.status
                FROM tb_loan AS ln
                LEFT JOIN tb_book AS bk
                ON ln.id_book = bk.id_book
                LEFT JOIN tb_user AS us
                ON ln.id_user = us.id_user
                WHERE ln.status = 'DISPONIVEL' AND ln.id_user != {user.id}"""
    livros = (exec_select(sql))
    if len(livros) > 0:
        for livro in livros:
            print(f"Dono do livro: {livro[0]} {livro[1]}")
            print(
                f"Nome do livro: {livro[2]}\nAno: {livro[4]}\nAutor: {livro[3]}"
            )
            print(f"Local para coleta: {livro[5]}\nStatus: {livro[6]}\n")
    else:
        print("Não há nenhum livro disponível para empréstimo no momento.")
Exemplo n.º 8
0
def devolver_livro(id_loan):
    now = datetime.now()
    delivery_location = input("Informe o local onde o livro foi devolvido: ")
    sql = f"""UPDATE tb_loan
                SET status = 'DEVOLVIDO', 
                end_date = '{now.strftime("%d/%m/%Y")}',
                delivery_location = '{delivery_location}'
                WHERE id_loan = {id_loan}"""
    retorno = exec_command(sql)
    if retorno:
        print("Livro devolvido com sucesso!")
    else:
        print("Falha ao devolver livro.")

    sql_loan = f"""SELECT id_user, id_book FROM tb_loan WHERE id_loan = {id_loan}"""
    new_loan = exec_select(sql_loan)

    id_user = new_loan[0][0]
    id_book = new_loan[0][1]

    sql_insert_loan = f"""INSERT INTO tb_loan(id_user, id_book, begin_date, coletion_location, status)
                        VALUES({id_user}, {id_book}, null, '{delivery_location}', 'DISPONIVEL')"""
    result = exec_command(sql_insert_loan)
    return result
Exemplo n.º 9
0
def export_dados(user):
    os.system("cls")
    sql_tb_user = f"SELECT * FROM tb_user WHERE id_user = {user.id}"
    sql_tb_book = f"SELECT * FROM tb_book WHERE id_owner = {user.id}"
    sql_tb_loan = f"SELECT * FROM tb_loan WHERE id_user = {user.id}"

    try:
        tb_user = exec_select(sql_tb_user)
        tb_book = exec_select(sql_tb_book)
        tb_loan = exec_select(sql_tb_loan)
        print("DADOS COLETADOS COM SUCESSO.")
    except:
        print("FALHA NA COLETA OS DADOS.")
        input()
        return

    try:
        list_user = user_convert(tb_user)
        list_book = book_convert(tb_book)
        list_loan = loan_convert(tb_loan)

        print("DADOS CONVERTIDOS COM SUCESSO.")
    except:
        print("FALHA NO TRATAMENTO DOS DADOS.")
        input()
        return

    path_files = input("INFORME O LOCAL ONDE O ARQUIVO .ZIP SERÁ SALVO: ")
    path_user = os.path.join(path_files, 'tb_user.json')
    path_book = os.path.join(path_files, 'tb_book.json')
    path_loan = os.path.join(path_files, 'tb_loan.json')

    try:
        cria_json(path_user, list_user)
        cria_json(path_book, list_book)
        cria_json(path_loan, list_loan)
        print("ARQUIVOS .JSON CRIADOS COM SUCESSO.")
    except FileNotFoundError:
        print(
            f"CAMINHO INFORMADO: {path_files}, NÃO EXISTE. VERIFIQUE NOVAMENTE."
        )
        input()
        return
    except:
        print("FALHA AO CRIAR OS ARQUIVOS .JSON.")
        input()
        return

    try:
        path_bakup = move_json(path_files)
    except:
        print("FALHA AO MOVER ARQUIVOS .JSON PARA DIRETORIO BACKUP")
        input()
        return

    try:
        cria_zip(path_bakup, path_files)
        input()
        return
    except:
        print("FALHA AO CRIAR OS ARQUIVOS ZIP.")
        input()
        return
Exemplo n.º 10
0
def lista_book_disponivel():
    sql = f"SELECT * FROM tb_loan WHERE status = 'DISPONIVEL'"
    livros = (exec_select(sql))
    for livro in livros:
        #print(f"ID: {livro[0]}\nNome: {livro[1]}\nAno: {livro[2]}\nAutor: {livro[3]}\n")
        print(livro)
Exemplo n.º 11
0
def lista_book(id, usuario):
    sql = f"SELECT * FROM tb_book WHERE id_book = {id} and id_owner = {usuario.id}"
    livro = (exec_select(sql))
    return livro