# EG8-21 Ładowanie danych o sprzedaży z wykorzystaniem konstrukcji with

# testowe dane sprzedaży
sales=[50,54,29,33,22,100,45,54,89,75]

def print_sales():
    '''
    Wyświetla na ekranie dane sprzedaży poprzedzone nagłówkiem 
    . Każda wartość jest ponumerowana zgodnie z numerem punktu sprzedaży
    '''
    # wyświetl nagłówek
    print('Wartości sprzedaży')
    # zainicjuj licznik punktów sprzedaży
    count=1
    # przetwarzanie wartości sprzedaży
    for sales_value in sales:
        # wyświetl element
        print('Wartość sprzedaży dla punktu ', count,'wynosi ',sales_value)
        # zwiększenie licznika punktów
        count = count + 1

def save_sales(file_path):
    '''
    Zapisuje zawartość listy sales w pliku
    file_path to ścieżka pliku do zapisania
    Jeśli zapis nie powiedzie się, zgłasza wyjątki obsługi plików.
    '''
    print('Zapis danych sprzedaży w pliku:', file_path)
    try:
        # Utwórz obiekt pliku  
        output_file=open(file_path,'w')
        # Przetwarzanie wartości sprzedaży z listy
        for sale in sales:
            # zapis danych o sprzedaży w postaci ciągu znaków
            output_file.write(str(sale)+'\n')
    except:
        print('Podczas zapisywania danych do pliku coś poszło nie tak')

def load_sales(file_path):
    '''
    Ładuje dane do listy sales z pliku 
    file_path podaje ścieżkę pliku do załadowania
    Jeśli ładowanie się nie powiedzie, zgłasza wyjątki obsługi plików.
    '''
    print('Ładowanie danych sprzedaży z pliku:', file_path)
    # Wyczyszczenie listy sales
    sales.clear()
    try:
        with open(file_name,'rb') as input_file:
            # Czytaj każdy wiersz pliku 
            for line in input_file:
                # obcięcie końca linii 
                line=line.strip()
                # Konwertuj ciąg znaków na liczbę
                # i dołącz ją do listy sprzedaży 
                sales.append(int(line))
    except:
        print('Podczas zapisywania danych do pliku coś poszło nie tak')

save_sales('sprzedaż') 
save_sales ("sales.txt") 
print_sales()
