Merge pull request #4 from aulojor/main
feat: load de json se o ficheiro colocado no [1] for um json
This commit is contained in:
@@ -18,6 +18,7 @@ MENU ="""[1] Criar a base de dados
|
||||
[6] Guardar como JSON
|
||||
[7] Guardar como CSV
|
||||
[8] Estatísticas
|
||||
[9] Atualizar uma entrada de um evento
|
||||
|
||||
[Q] Sair
|
||||
"""
|
||||
@@ -35,7 +36,7 @@ def guardar_df(df: pd.DataFrame, fname: str) -> bool:
|
||||
def guardar_json(df: pd.DataFrame, fname: str) -> bool:
|
||||
with open(fname , "w") as fp:
|
||||
try:
|
||||
json.dump(df.to_json(), fp)
|
||||
df.to_json(fp)
|
||||
except:
|
||||
return False
|
||||
return True
|
||||
@@ -67,7 +68,10 @@ def main():
|
||||
if fname is None:
|
||||
fname = "dados.txt"
|
||||
|
||||
if _file_exists(fname):
|
||||
if _file_exists(fname) and fname.endswith(".json"):
|
||||
db = pd.read_json(fname)
|
||||
input("Base de dados populada. Enter para voltar ao menu inicial")
|
||||
elif _file_exists(fname):
|
||||
db = parser.parse(fname)
|
||||
input("Base de dados populada. Enter para voltar ao menu inicial")
|
||||
else:
|
||||
@@ -106,7 +110,7 @@ def main():
|
||||
else:
|
||||
table = crud.get_table(db, eid_choice)
|
||||
crud.show_table(table)
|
||||
row_choice = _get_usr_input("Escolhe a linha a apagar:", int)
|
||||
row_choice = _get_usr_input("Escolhe a linha a apagar: ", int)
|
||||
db = crud.delete_table_row(db, eid_choice, row_choice)
|
||||
new_table = crud.get_table(db, eid_choice)
|
||||
crud.show_table(new_table)
|
||||
@@ -134,7 +138,7 @@ def main():
|
||||
|
||||
case "6":
|
||||
if db is not None:
|
||||
fname = _get_usr_input("Nome do ficheiro a guardar?")
|
||||
fname = _get_usr_input("Nome do ficheiro a guardar? ")
|
||||
if fname is None:
|
||||
fname = "valores.json"
|
||||
guardar_json(db, fname)
|
||||
@@ -143,7 +147,7 @@ def main():
|
||||
|
||||
case "7":
|
||||
if db is not None:
|
||||
fname = _get_usr_input("Nome do ficheiro a guardar?")
|
||||
fname = _get_usr_input("Nome do ficheiro a guardar? ")
|
||||
if fname is None:
|
||||
fname = "valores.csv"
|
||||
guardar_csv(db, fname)
|
||||
@@ -156,6 +160,25 @@ def main():
|
||||
else:
|
||||
retInfo = "Base de dados não encontrada!"
|
||||
|
||||
case "9":
|
||||
if db is not None:
|
||||
crud.read_ids(db)
|
||||
eid_choice = _get_usr_input("Escolhe o ID: ", int)
|
||||
|
||||
if not _event_exists(db, eid_choice):
|
||||
retInfo = "ID do event não encontrado!"
|
||||
|
||||
else:
|
||||
table = crud.get_table(db, eid_choice)
|
||||
crud.show_table(table)
|
||||
row_choice = _get_usr_input("Escolhe a linha a atualizar: ", int)
|
||||
new_data = {}
|
||||
for col in crud.TABLE_READ_RET:
|
||||
val = _get_usr_input(f"Novo valor para {col} (Enter para manter o valor atual): ")
|
||||
if val is not None:
|
||||
new_data[col] = val
|
||||
crud.update_table_row(db, row_choice, new_data)
|
||||
|
||||
case "q":
|
||||
isRunning = False
|
||||
continue
|
||||
|
||||
Reference in New Issue
Block a user