# EG9-04 Proste kontakty z wykorzystaniem klasy

from BTCInput import *

# Utworzenie klasy Contact 

class Contact:
    pass

# Utworzenie list do przechowywania informacji kontaktowych

contacts=[]

def new_contact():
    '''
    Czyta nowy kontakt i go zapisuje
    '''
    print('Stwórz nowy kontakt')
    # stworzenie nowego egzemplarza klasy
    new_contact=Contact()
    # dodanie atrybutów danych
    new_contact.name=read_text('Wprowadź nazwisko: ')
    new_contact.address=read_text('Wprowadź adres: ')
    new_contact.telephone=read_text('Wprowadź telefon kontaktowy: ')
    # dodanie nowego kontaktu do listy kontaktów
    contacts.append(new_contact)

def find_contact():
    '''
    Wczytuje nazwisko do wyszukania, a następnie wyświetla
    informacje dotyczące tego nazwiska lub
    komunikat informujący o tym, że nazwiska nie znaleziono
    '''
    print('Znajdź kontakt')
    search_name = read_text('Wprowadź nazwisko: ')
    # usuń wszelkie białe spacje wokół nazwy do wyszukiwania
    search_name = search_name.strip()
    # konwertuj wyszukiwane nazwisko na małe litery
    search_name = search_name.lower()
    # Ustaw zmienną result, aby wskazać, że nic nie znaleziono
    result=None
    for contact in contacts:
        # pobierz nazwisko z kontaktu 
        name=contact.name
        # usuń wszelkie białe spacje wokół nazwy do wyszukiwania
        name=name.strip()
        # konwertuj wyszukiwane nazwisko na małe litery
        name = name.lower()
        # sprawdź, czy nazwiska do siebie pasują
        if name.startswith(search_name):
            # jeśli nazwiska pasują, ustaw kontakt
            result = contact 
            # koniec pętli
            break

    if result!=None:
        # Znaleziono nazwisko
        print('Nazwisko: ',result.name)
        print('Adres: ',result.address)
        print('Telefon: ',result.telephone)
    else:              
        print('Wprowadzone nazwisko nie zostało znalezione.')

menu='''Proste kontakty

1. Nowy kontakt
2. Znajdź kontakt
3. Wyjście z programu

Wprowadź polecenie: '''
while True:
    command=read_int_ranged(prompt=menu,min_value=1,max_value=3)
    if command==1:
        new_contact()
    elif command==2:
        find_contact()
    elif command==3:
        break
