diff --git a/Kod%3A-Zarz%C4%85dzanie-plikami-formatu.md b/Kod%3A-Zarz%C4%85dzanie-plikami-formatu.md new file mode 100644 index 0000000..36d9176 --- /dev/null +++ b/Kod%3A-Zarz%C4%85dzanie-plikami-formatu.md @@ -0,0 +1,42 @@ +# Zarządzanie plikami formatu + +Klasa `FMT` odpowiedzialna jest za zarządzanie plikami formatu (.fmt) + +### Odczytywanie pojedyńczej zmiennej z pliku (`R`) + +Funkcja ta, jest odpowiedzialna za odczytanie zawartości danego recordu i sprawdzenie jego poprawności + +1. Inicjacja funkcji `__checkIfFolderExist` w celu sprawdzenia czy folder 'format-presets' istnieje +2. Sprawdzenie czy podany plik formatu (`preset`) znajduje się w folderze 'format-presets' (funkcja `getList` zwraca listę plików formatu w folderze 'format-presets') + - Jeżeli nie, wartość zmiennej jest wybierana ze słownika `content` (zawierającego podstawowe wartości zmiennych) + - Jeżeli tak: +3. Zczytanie i zapisanie wszystkich danych z wybranego pliku formatu do słownika `content` w formacie: `'nazwa zmiennej' : ['zmienna', 'typ zmiennej']` +4. Inicjacja funkcji `__checkIfRecordExist` w celu sprawdzenia czy w słowniku `content` znajduje się żądany record +5. Inicjacja, odpowiedniej dla typu zmiennej, funkcji mającej na celu sprawdzenie jej poprawności i jej przetworzenie +6. Funkcja zwraca wartość zmiennej. + +### Zapisywanie zmian w pliku (`W`) + +Funkcja ta jest odpowiedzialna za sprawdzenie, przetworzenie i zapisanie zmian w pliku konfiguracyjnych. + +1. Inicjacja funkcji `__checkIfFolderExist` w celu sprawdzenia czy folder 'format-presets' istnieje +2. Sprawdzenie czy podany plik formatu (`preset`) znajduje się w folderze 'format-presets' (funkcja `getList` zwraca listę plików formatu w folderze 'format-presets') + - Jeżeli nie, tworzony jest słownik `content` z zawartością podstawową + - Jeżeli tak: Zczytanie i zapisanie wszystkich danych z wybranego pliku formatu do słownika `content` w formacie: `'nazwa zmiennej' : ['zmienna', 'typ zmiennej']` +3. Inicjacja, odpowiedniej dla typu zmiennej, funkcji mającej na celu sprawdzenie jej poprawności i jej przetworzenie, dla każdego recordu ze słownika `changes` +4. Nadpisanie zmiennej ze słownika content, wartością `var`. +5. Zapisanie zawartości słownika `content` w pliku 'config.cfg' +6. Funkcja zwraca `True` jeżeli operacja została wykonana pomyślnie lub `False` jeżeli wystąpił błąd + +### Funkcja zwracająca listę presetów (`getList`) + +Funkcja ta odpowiedzialna jest za stworzenie listy plików .fmt w folderze 'format-presets' oraz za jej zwrócenie. + +### Funkcje sprawdzające istnienie + +- `__checkIfFolderExist` - funkcja sprawdza czy folder 'format-presets' istnieje (inicjuje `checkAppdata`) +- `__checkIfRecordExist` - funkcja sprawdza czy `record` istnieje w słowniku `content` + +### Funkcje sprawdzające poprawność recordu + +Funkcje te odpowiadają za sprawdzenie poprawności zmiennej i w razie potrzeby przetwarzają ją na pożądaną formę. \ No newline at end of file