Files
GeneratorCSV/components/load_config.py

115 lines
3.0 KiB
Python
Raw Normal View History

2020-08-06 18:10:55 +02:00
"""
# GeneratorCSV
2020-08-06 18:12:58 +02:00
# Wersja 4.0: UC 2
2020-08-06 18:10:55 +02:00
# by Mateusz Skoczek
# luty 2019 - grudzień 2019
# dla ZSP Sobolew
#
# Moduł zarządzający plikiem konfiguracyjnym
#
"""
2020-08-06 18:12:58 +02:00
# ----------------------------------------- # Definicja kodów dialogowych # ------------------------------------------ #
E000x01 = "Brak modułu wywołującego okna dialogowe ('dialog.py').\nPrzywróć plik. (E000x01)"
E001x01 = ["Brak pliku konfiguracyjnego ('config.cfg').\nPrzywróć plik. (E001x01)", True]
E002x00 = ["Bład pliku konfiguracyjnego ('config.cfg').\nNiepoprawna ilość wierszy w pliku\nPrzywróć plik. (E002x00)", True]
E002x01 = ["Bład pliku konfiguracyjnego ('config.cfg').\nNiepoprawne dane w wierszu 1\nPrzywróć plik. (E002x01)", True]
E002x02 = ["Bład pliku konfiguracyjnego ('config.cfg').\nNiepoprawne dane w wierszu 2\nPrzywróć plik. (E002x02)", True]
# ----------------------------------- # Import bibliotek zewnętrznych i modułów # ------------------------------------ #
# Biblioteki zewnętrzne
import sys as SS
# Moduły składowe programu
try:
import dialog as MDdlg
except ModuleNotFoundError:
print('Nieoczekiwany wyjatek - nie mozna wygenerowac okna dialogowego bledu\n\nBŁĄD KRYTYCZNY!\n%s') %E000x01
wait = input('Naciśnij ENTER aby zakończyć')
SS.exit(0)
# --------------------------------------------------- # Funkcje # ---------------------------------------------------- #
# Wewnętrzna funkcja sprawdzająca błędy pliku konfiguracyjnego
def CheckConfig(settings):
# Ilość wierszy
try:
if len(settings) != 2:
error = int('x')
except ValueError:
MDdlg.Err(E002x00)
# Linia 1 (0/1)
try:
check = int(settings[0])
if 0 > check > 1:
error = int('x')
except ValueError:
MDdlg.Err(E002x01)
# Linia 2 (utf-8)
DostepneKodowanieWyjsciowe = ['utf-8']
try:
if settings[1] not in DostepneKodowanieWyjsciowe:
error = int('x')
except ValueError:
MDdlg.Err(E002x02)
# Odczytywanie ustawień z pliku konfiguracyjnego
2020-08-06 18:10:55 +02:00
def read():
2020-08-06 18:12:58 +02:00
try:
check = open('.\config.cfg')
except FileNotFoundError:
MDdlg.Err(E001x01)
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
2020-08-06 18:10:55 +02:00
2020-08-06 18:12:58 +02:00
# Zapis ustawień do pliku konfiguracyjnego
def edit(settings):
CheckConfig(settings)
try:
check = open('.\config.cfg')
except FileNotFoundError:
MDdlg.Err(E001x01)
else:
SettingsToSave = []
SettingsToSave.append('Ciemny motyw(0/1): ' + str(settings[0]) + '\n')
SettingsToSave.append('Kodowanie wyjsciowe: ' + str(settings[1]))
with open('.\config.cfg', 'w') as cfg:
for x in SettingsToSave:
cfg.write(x)