# EG9-03 Proste kontakty. Szybkie wyszukiwanie

from BTCInput import *

# Utworzenie list do przechowywania informacji kontaktowych
names=[]
addresses=[]
telephones=[]

def new_contact():
    '''
    Czyta nowy kontakt i go zapisuje
    '''
    print('Stwórz nowy kontakt')
    names.append(read_text('Wprowadź nazwisko: '))
    addresses.append(read_text('Wprowadź adres: '))
    telephones.append(read_text('Wprowadź telefon kontaktowy: '))

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()
    # Licznik dla pozycji imienia 
    name_position=0
    for name in names:
        # 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):
            # zakończ pętlę, jeśli nazwiska pasują
            break
        # przesuń pozycję do następnej nazwy 
        name_position=name_position+1

    if name_position < len(names):
        # Znaleziono nazwisko
        print('Nazwisko: ',names[name_position])
        print('Adres: ',addresses[name_position])
        print('Telefon: ',telephones[name_position])
    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
