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")