Files
GeneratorCSV/modules/load_config.py

131 lines
3.4 KiB
Python

"""
# GeneratorCSV
# Wersja 4.0 Experimental
# by Mateusz Skoczek
# luty 2019 - grudzień 2019
# dla ZSP Sobolew
#
# Moduł zarządzający plikiem konfiguracyjnym
#
"""
# ----------------------------------- # Import bibliotek zewnętrznych i modułów # ------------------------------------ #
# Biblioteki zewnętrzne
import sys as SS
# Moduły składowe programu
try:
from modules import dialog as MDdlg
except ModuleNotFoundError:
print('Wystąpił krytyczny błąd!')
print('Nie znaleziono jednego z modułów programu (dialog.py). Nie można załadować programu')
print('Kod błędu: E00x0011')
wait = input('Naciśnij ENTER aby wyjść')
SS.exit(0)
except Exception as exc:
print('Wystąpił krytyczny błąd!')
print('Nieznany błąd podczas ładowania jednego z modułów programu (dialog.py). Nie można załadować programu.')
print('Treść błędu: ' + exc)
print('Kod błędu: E00x0010')
wait = input('Naciśnij ENTER aby wyjść')
SS.exit(0)
# --------------------------------------------------- # Funkcje # ---------------------------------------------------- #
# Wewnętrzna funkcja sprawdzająca błędy pliku konfiguracyjnego
def CheckConfig(settings):
# Ilość wierszy
try:
if len(settings) != 7:
error = int('x')
except ValueError:
MDdlg.err(1)
# Linia 1 (0/1)
try:
check = int(settings[0])
if 0 > check > 1:
error = int('x')
except ValueError:
MDdlg.err(2)
# Linia 2 (utf-8)
DostepneKodowanieWyjsciowe = ['utf-8']
try:
if settings[1] not in DostepneKodowanieWyjsciowe:
error = int('x')
except ValueError:
MDdlg.err(3)
# Linia 4 (int)
try:
x = int(settings[3])
except ValueError:
MDdlg.err(17)
# Linia 6 (int)
try:
x = int(settings[5])
except ValueError:
MDdlg.err(18)
# Linia 7 (int)
try:
x = int(settings[6])
except ValueError:
MDdlg.err(19)
# Odczytywanie ustawień z pliku konfiguracyjnego
def read():
try:
check = open('.\config.cfg')
except FileNotFoundError:
MDdlg.err(0)
else:
with open('.\config.cfg', 'r') as cfg:
config = cfg.read().split('\n')
settings = []
for x in config:
settings.append(x.split(': ')[1])
CheckConfig(settings)
return settings
# Zapis ustawień do pliku konfiguracyjnego
def edit(settings):
CheckConfig(settings)
try:
check = open('.\config.cfg')
except FileNotFoundError:
MDdlg.err(0)
else:
SettingsToSave = []
SettingsToSave.append('Ciemny motyw(0/1): ' + str(settings[0]) + '\n')
SettingsToSave.append('Kodowanie wyjsciowe: ' + str(settings[1]) + '\n')
SettingsToSave.append('Domena: ' + str(settings[2]) + '\n')
SettingsToSave.append('Quota: ' + str(settings[3]) + '\n')
SettingsToSave.append('Kraj: ' + str(settings[4]) + '\n')
SettingsToSave.append('Dlugosc liceum: ' + str(settings[5]) + '\n')
SettingsToSave.append('Dlugosc branzowej: ' + str(settings[6]))
with open('.\config.cfg', 'w') as cfg:
for x in SettingsToSave:
cfg.write(x)