From fd82416b85b93036a822fe20f902be0048127046 Mon Sep 17 00:00:00 2001 From: Mateusz Skoczek Date: Wed, 9 Sep 2020 00:01:02 +0200 Subject: [PATCH] 4.0 Beta (Build 20253) --- dev-changelog.txt | 6 +- documentation/about_program.html | 2 +- documentation/program_documentation.html | 75 ++++++++- generator.pyw | 189 +++++++++++------------ 4 files changed, 170 insertions(+), 102 deletions(-) diff --git a/dev-changelog.txt b/dev-changelog.txt index 81bd87c..c99cca9 100644 --- a/dev-changelog.txt +++ b/dev-changelog.txt @@ -151,4 +151,8 @@ 4.0 Beta (Build 20252) - Kontynuacja praca na sekcją strony 'Dokumentacja' -- Przeprojektowanie sprawdzania katalogu programu w appdata \ No newline at end of file +- Przeprojektowanie sprawdzania katalogu programu w appdata + +4.0 Beta (Build 20253) +- Ukończenie sekcji strony 'Dokumentacja' +- Dodano informację o ilości osób, których dane zostały przetworzone \ No newline at end of file diff --git a/documentation/about_program.html b/documentation/about_program.html index 39ef8e2..f8e85f9 100644 --- a/documentation/about_program.html +++ b/documentation/about_program.html @@ -24,7 +24,7 @@

- Wersja 4.0 Beta (Build 20252) + Wersja 4.0 Beta (Build 20253)

diff --git a/documentation/program_documentation.html b/documentation/program_documentation.html index c0b9031..790af67 100644 --- a/documentation/program_documentation.html +++ b/documentation/program_documentation.html @@ -9,7 +9,7 @@

-

Aby móc uruchomić aplikację w wersji developerskiej należy pobrać Pythona oraz wymagane biblioteki (wymienione w sekcji 'generator.pyw - Import bibliotek')

+

Aby móc uruchomić aplikację w wersji developerskiej należy pobrać Pythona (wersja zalecana: 3.8.5) oraz wymagane biblioteki (wymienione w sekcji 'generator.pyw - Import bibliotek')

@@ -242,7 +242,7 @@

- +

Klasa FMT odpowiedzialna jest za zarządzanie plikami formatu (.fmt)
@@ -294,13 +294,78 @@

- + Klasa dataProcess odpowiedzialna za przetwarzanie plików wejściowych i generowanie plików wyjściowych
+
+
+ Główna funkcja klasy (start)
+
+ Funkcja ta odpowiedzialna za zainicjowanie kolejnych funkcji w odpowiedniej kolejności oraz zwrócenie informacji o błędach lub pomyślnym wykonaniu polecenia
+ 1. Inicjacja funkcji __checkIfAtLeastOneInputFileIsFilled w celu sprawdzenia czy przynajmniej jedno pole plików wejściowych zostało wypełnione
+ 2. Inicjacja funkcji __checkIfInputFilesIsReadable w celu sprawdzenia czy pliki wejściowe, do których ścieżki zostały podane, są możliwe do odczytania
+ 3. Inicjacja funkcji __checkIfInputFilesFormatPresetsExist w celu sprawdzenia czy format presety, które zostały wybrane, istnieją
+ 4. Inicjacja funkcji __getData w celu zebrania danych z plików wejściowych
+ 5. Dla każdego zbioru danych - for x in data (dla każdej osoby), inicjacja funkcji __checkLogin, __checkFname, __checkLname, oraz dla uczniów __checkSchool, __checkClass, w celu sprawdzenia poprawności danych
+ 6. Inicjacja funkcji __processData w celu przetworzenia danych w linie gotowe do zapisania w plikach wyjściowych
+ 7. Inicjacja funkcji __checkIfCreatingOutputFilesIsPossible w celu sprawdzenia czy możliwe jest utworzenie plików wyjściowych
+ 8. Inicjacja funkcji __saveData w celu zapisania danych w plikach wyjściowych
+ Funkcja zwraca listę zawierającą zmienne boolean potwierdzające w którym momencie zakończyło się wykonywanie funkcji (z powodu błędu lub pomyślnego ukończenia operacji)
+
+
+ Funkcje sprawdzające istnienie +
+ __checkIfAtLeastOneInputFileIsFilled - sprawdza czy przynajmniej jedno pole plików wejściowych zostało wypełnione oraz zwraca dane z wypełnionych pól
+ __checkIfInputFilesIsReadable - sprawdza czy pliki wejściowe są możliwe do odczytania
+ __checkIfInputFilesFormatPresetsExist - sprawdza czy wybrane format presety istnieją
+ __checkIfCreatingOutputFilesIsPossible - sprawdza czy utworzenie plików wyjściowych jest możliwe
+
+
+ Funkcje sprawdzające poprawność +
+ Funkcje te sprawdzają poprawność określonych typów danych. +
+
+ Wyodrębnienie danych z plików (__getData)
+
+ Funkcja odpowiedzialna jest za wyodrębnienie danych z pliku (path) na podstawie określonego format presetu (format) + Dla każdego zbioru ścieżek plików wejściowych i format presetów (for x in input):
+ 1. Pobranie danych z pliku formatu (za pomocą funkcji FMT.R)
+ 2. Pobranie zawartości z pliku wyjściowego i podzielenie ich na zbiory danych pojedyńczych osób (.split(personseparator))
+ Dla każdego zbioru danych pojedyńczych osób (for x in file):
+ 3. Dzielenie zbioru danych na linie (x.split(linesSeparator))
+ 4. Dla każdej linii: dzielenie danych na pojedyńcze segmenty separatorami z listy dataSeparators
+ 5. Wyodrębnienie wymaganych danych ze zbioru
+ 6. Dodanie danych pojedyńczej osoby do listy data
+
+
+ Przetworzenie danych (__processData)
+
+ Funkcja odpowiedzialna jest za przetworzenie danych w linie gotowe do zapisania w plikach wyjściowych
+ Funkcja zwraca listę [mailData, officeData]
+
+
+ Zapisanie danych (__saveData)
+
+ Funkcja odpowiedzialna jest za zapisanie danych w plikach wyjściowych dla poczty i dla office

- +
- +

+ Klasa GUI odpowiada za interfejs programu
+
+
+ 1. Główna funkcja programu
+
+ - Stworzenie okna
+ - Inicjacja styli kontrolek
+ - Kontrolki
+
+
+ Akcje przycisków
+
+ Funkcje inicjowane przez naciśnięcie przycisków +