Książka telefoniczna z jsonem

Książka telefoniczna z jsonem
Photo by Wesley Hilario / Unsplash
import os
import json

# Do poprawienia w piątek - usunięcie zbędnych wpisów, dolozyc kodowanie (nie starczylo mi czasu na podmianke komend). Mocne 2 na 10 :D


if os.path.exists("test.json"):  #weryfikacja czy jest json
        with open("test.json","r") as j: 
            content = j.read() #rozwiązanie podsunięte przez Mateo xD
            if content.strip():
                 test = json.loads(content)
            else:
                 test = {}
            
else:
     with open("test.json", "w") as j:  #zwracac uwage na "w" i "r", bo mieszam
         json.dump(test, j, indent=4)  #chociaz doskonale wiem co do czego

while True:
    print("Ksiazka kontaktowa")
    print("Wybierz operacje")
    print("1 - dodaj wpis")
    print("2 - aktualizacja kontaktu")
    print("3 - usun wpis")
    print("4 - wydrukuj wszystkie kontakty")
    print("5 - wydrukuj konkretny kontakt")
    print("6 - kuniec")

    wybor = input("Wybierz kod operacji: ")
    if wybor == "1":
         
         print("Dodaj wpis: imię oraz adres e-mail")
         imie = input("Podaj imie: ")
         email = input("Podaj adres e-mail: ") #w pierszej wrsji byl 'kontakt'
         telefon = input("Podaj numer telefonu: ")


         test[imie] = [email, telefon]
         #zapisanie do plik pozniej? przy wylaczaniu programu
         #with open("test.json", "w") as j:  ##t
              #json.dump(test, j, indent=4)


    elif wybor == "2":
          print("Aktualizacja adresu e-mail dla kontaktu!")
          imie = input("Powiedz komu zmienić adres e-mail i/lub numer telefonu? ") #podaj imię, które jest kluczem (klucze są niezmienne)
          if imie in test:
                aktualizacja = input("Chcesz zmienic adres e-mail, numer telefonu czy obie te rzeczy. Wybierz 1,2 lub 3?")
                if aktualizacja == "1":
                     nowy_email = input("Podaj nowy adres e-mail: ")
                     test[imie][0]= nowy_email
                     with open("test.json", "w") as j:
                         json.dump(test, j, indent=4)

                elif aktualizacja == "2":
                    nowy_numer = input("Podaj nowy numer telefonu: ")
                    test[imie][1]= nowy_numer  #pamieta zeby zwracac uwage na indeksy, bo sie potem dziwisz, ze nmer nadpisal email
                    with open("test.json", "w") as j:
                         json.dump(test, j, indent=4)

                elif aktualizacja == "3":
                    nowy_email = input("Podaj nowy adres e-mail: ")
                    test[imie][0] = nowy_email
                    with open("test.json", "w") as j:
                         json.dump(test, j, indent=4)

                    nowy_numer = input("Podaj nowy numer telefonu: ")
                    test[imie][1] = nowy_numer
                    with open("test.json", "w") as j:
                         json.dump(test, j, indent=4)

                else:
                     print("Pomyłka! Przemyśl co chciałeś zrobić.")

          else:
               print("Pomyłka! Sprawdż nazwę kontaktu.")


    elif wybor == "3":
     print("Usuwanie wpisu")
     usun = input("Podaj imię osoby, której konakt chcesz usunąć:  ")
     if usun in test:
          del test[usun]
          with open("test.json", "w") as j:
               json.dump(test, j, indent=4)
          print("\033[91m" + "Pacjent usunięty!" + "\033[0m") #z githuba, fajna rzecz do rozeznania co użytkownik zrobił nielegalnego :D
     else:
          print("Pomyłka. Sprawdź jeszcze raz podane dane.")
        #print("\n"

    elif wybor == "4":
     print("Wszystie kontakty: ")
     for imie, kontakt in test.items():
            print(imie, ":", kontakt)
            #with open("test.json", "r") as j:
               # test = json.load(j)
                    
                #print("\n")

    elif wybor == "5":
     print("Wydrukuje konkretny kontakt")
     imie = input("Podaj imie kontaktu:  ")
     if imie in test:
          print(imie, ":", test[imie][0], ":", test[imie][1])
            #print(kontakty_json) #pamietaj o indeksach, bo mieszasz...
     else:
          print("co")

    elif wybor == "6":
     print("Koniec programu")
     print("Czy chcesz zapisac zmiany? Wybierz 1 TAK lub 2 NIE")
     wyb2 = input("Wybierz 1 TAK lub 2 NIE: ")
     if wyb2 == "1":
         print("Zapisje kontakty!")
         with open("test.json", "w") as j:
             json.dump(test, j, indent=4)
         break
     elif wyb2 == "2":
         print("zmiany zostana porzucone")
         break
    
    else:
        print("Nie ma opcji o podanym kodzie")