0
I created a very simple python program to organize my work and tests, but I would like to make it portable to use on any computer. I know pyinstaller and cx_Freeze to turn the apps into executables, but I would like to know what the part of the database looks like, since it would be a lot to put a Mysql database with Wamp Server on a USB stick for example. What can I do? Below goes my code:
import pymysql as sql
import os
import pandas as pd
conexao = sql.connect(db = 'trabalhos', user = 'root', passwd = '')
cursor = conexao.cursor()
def Deleta_Trabalho():
print("Digite -1 para cancelar ou digite o ID do trabalho abaixo: \n")
opcao = int(input("Digite o ID: \n"))
if opcao < 0:
Consulta_Trabalhos()
elif opcao == 0:
Consulta_Trabalhos()
else:
Comando = ("Delete from trabalhos Where ID = {0}")
Comando_Final = Comando.format(opcao)
cursor.execute(Comando_Final)
conexao.commit()
print("Trabalho Deletado! \n")
Consulta_Trabalhos()
def Deleta_Avaliacao():
print("Digite -1 para cancelar ou digite o ID da avaliacao abaixo: \n")
opcao = int(input("Digite o ID: \n"))
if opcao < 0:
Consulta_Avaliacoes()
elif opcao == 0:
Consulta_Avaliacoes()
else:
Comando = ("Delete from avaliacoes Where ID = {0}")
Comando_Final = Comando.format(opcao)
cursor.execute(Comando_Final)
conexao.commit()
print("Avaliacao Deletada! \n")
Consulta_Avaliacoes()
def Consulta_Trabalhos():
frame = pd.read_sql('Select * From trabalhos', conexao)
pd.set_option('display.expand_frame_repr', False)
print(frame)
escolha = int(input("1 - Voltar ao Menu Inicial 2 - Deletar Trabalho 3 - Sair \n"))
if escolha == 1:
os.system('cls' if os.name == 'nt' else 'clear')
return 1
elif escolha == 2:
os.system('cls' if os.name == 'nt' else 'clear')
Deleta_Trabalho()
elif escolha == 3:
os.system('cls' if os.name == 'nt' else 'clear')
return 5
def Consulta_Avaliacoes():
frame = pd.read_sql('Select * From avaliacoes', conexao)
pd.set_option('display.expand_frame_repr', False)
print(frame)
escolha = int(input("1 - Voltar ao Menu Inicial 2 - Deletar Avaliacao 3 - Sair \n"))
if escolha == 1:
return 1
elif escolha == 2:
Deleta_Avaliacao()
elif escolha == 3:
return 5
def Novo_Trabalho():
Materia = input("Qual a materia? \n")
Dia = input("Dia: \n")
Mes = input("Mes: \n")
Data = Dia + "/" + Mes + "/" + "2020"
Sobre = input("Fale sobre o trabalho: ")
Comando = "Insert into trabalhos (Materia, Data_Entrega, Descricao) Values ('{0}', STR_TO_DATE( '{1}' , '%d/%m/%Y'), '{2}')"
Comando_Final = Comando.format(Materia, Data, Sobre)
cursor.execute(Comando_Final)
conexao.commit()
return True
def Nova_Avaliacao():
Materia = input("Qual a materia? \n")
Dia = input("Dia: \n")
Mes = input("Mes: \n")
Data = Dia + "/" + Mes + "/" + "2020"
Conteudo = input("Conteudo: \n")
Comando = "Insert into avaliacoes (Materia, `Data`, Conteudo) Values ('{0}', STR_TO_DATE( '{1}' , '%d/%m/%Y'), '{2}')"
Comando_Final = Comando.format(Materia, Data, Conteudo)
cursor.execute(Comando_Final)
conexao.commit()
return True
def main():
print("1 - Ver trabalhos \n")
print("2 - Ver avaliações \n")
print("3 - Novo trabalho \n")
print("4 - Nova avaliação \n")
print("5 - Sair \n")
escolha = int(input("Digite o que deseja fazer: \n"))
if escolha == 1:
os.system('cls' if os.name == 'nt' else 'clear')
Consulta_Trabalhos()
elif escolha == 2:
os.system('cls' if os.name == 'nt' else 'clear')
Consulta_Avaliacoes()
elif escolha == 3:
os.system('cls' if os.name == 'nt' else 'clear')
sucesso = Novo_Trabalho()
if sucesso == True:
print("Trabalho agendado com sucesso! \n")
print("Veja todos os trabalhos: \n")
opcao = Consulta_Trabalhos()
if opcao == 1:
return 1
elif opcao == 5:
conexao.close()
return 5
elif escolha == 4:
os.system('cls' if os.name == 'nt' else 'clear')
sucesso = Nova_Avaliacao()
if sucesso == True:
print("Avaliacao agendada com sucesso! \n")
print("Veja todos as avaliacoes: \n")
Consulta_Avaliacoes()
elif escolha == 5:
return 5
x = main()
while x != 5:
os.system('cls' if os.name == 'nt' else 'clear')
x = main()
Opa Willian, thank you very much, this will help me a lot!
– JoaoP_L