Add Kod: Zarządzanie plikami formatu

2026-02-10 02:15:37 +01:00
Unverified
parent e8a3db70b5
commit 8ea442ff0b

@@ -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ę.