4.0 Alpha (Build 19355)

This commit is contained in:
2020-08-06 18:29:52 +02:00
Unverified
parent 660ec71f7f
commit c5bc5654f6
12 changed files with 98 additions and 58 deletions

View File

@@ -1,7 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/modules" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>

3
.idea/workspace.xml generated
View File

@@ -86,6 +86,7 @@
<workItem from="1576774425640" duration="14534000" />
<workItem from="1576793801825" duration="187000" />
<workItem from="1576880469699" duration="1987000" />
<workItem from="1576916355983" duration="4227000" />
</task>
<servers />
</component>
@@ -108,6 +109,6 @@
<component name="com.intellij.coverage.CoverageDataManagerImpl">
<SUITE FILE_PATH="coverage/GeneratorCSV_3_1$generator.coverage" NAME="generator Coverage Results" MODIFIED="1575142941417" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
<SUITE FILE_PATH="coverage/Wersja_Under_Construction$generator.coverage" NAME="generator Coverage Results" MODIFIED="1575214162661" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
<SUITE FILE_PATH="coverage/Generator_CSV$generator.coverage" NAME="generator Coverage Results" MODIFIED="1576882511441" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
<SUITE FILE_PATH="coverage/Generator_CSV$generator.coverage" NAME="generator Coverage Results" MODIFIED="1576923552814" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
</component>
</project>

View File

@@ -45,3 +45,10 @@
- Przeniesienie głównego modułu do folderu nadrzędnego zamiast pliku inicjacji
- Zmieniony sposób ładowania modułów
- Ulepszona obsługa wyjątków dla ładowania modułów
4.0 Alpha (Build 19355)
- Naprawienie przycisku instrukcji
- Zmiana nazwy pliku instrukcji na 'readme.txt'
- Naprawienie przycisków filedialog
- Zmiana zmiennej treści błędu na string
- Ulepszona obsługa wyjątków dla ładowania pliku konfiguracyjnego, formatu i 'readme.txt'

View File

@@ -51,7 +51,7 @@ except ModuleNotFoundError:
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('Treść błędu: ' + str(exc))
print('Kod błędu: E00x0010')
wait = input('Naciśnij ENTER aby wyjść')
SS.exit(0)
@@ -67,7 +67,7 @@ except ModuleNotFoundError:
except Exception as exc:
print('Wystąpił krytyczny błąd!')
print('Nieznany błąd podczas ładowania jednego z modułów programu (load_config.py). Nie można załadować programu.')
print('Treść błędu: ' + exc)
print('Treść błędu: ' + str(exc))
print('Kod błędu: E00x0020')
wait = input('Naciśnij ENTER aby wyjść')
SS.exit(0)
@@ -83,7 +83,7 @@ except ModuleNotFoundError:
except Exception as exc:
print('Wystąpił krytyczny błąd!')
print('Nieznany błąd podczas ładowania jednego z modułów programu (load_format.py). Nie można załadować programu.')
print('Treść błędu: ' + exc)
print('Treść błędu: ' + str(exc))
print('Kod błędu: E00x0030')
wait = input('Naciśnij ENTER aby wyjść')
SS.exit(0)
@@ -184,7 +184,7 @@ class Main(TK.Tk):
Pole1.grid(row = wiersz, column = 1)
def Pole1BrowseDialog():
Pole1Browse.filename = TKfld.askopenfilename(initialdir = "C:/", title = "Wybierz plik tekstowy z danymi", filetypes = (("Pliki txt", "*.txt"), ("Wszystkie pliki", "*.*")))
Pole1Browse.filename = TKfld.askopenfilename(title = "Wybierz plik tekstowy z danymi", filetypes = (("Pliki txt", "*.txt"), ("Wszystkie pliki", "*.*")))
Pole1.delete(0, 'end')
Pole1.insert(0, Pole1Browse.filename)
@@ -217,7 +217,7 @@ class Main(TK.Tk):
Pole2.grid(row = wiersz, column = 1)
def Pole2BrowseDialog():
Pole2Browse.filename = TKfld.askopenfilename(initialdir = "C:/", title = "Wybierz plik tekstowy z danymi", filetypes = (("Pliki txt", "*.txt"), ("Wszystkie pliki", "*.*")))
Pole2Browse.filename = TKfld.askopenfilename(title = "Wybierz plik tekstowy z danymi", filetypes = (("Pliki txt", "*.txt"), ("Wszystkie pliki", "*.*")))
Pole2.delete(0, 'end')
Pole2.insert(0, Pole2Browse.filename)
@@ -249,7 +249,7 @@ class Main(TK.Tk):
Pole3.grid(row = wiersz, column = 1)
def Pole3BrowseDialog():
Pole3Browse.filename = TKfld.askopenfilename(initialdir = "C:/", title = "Wybierz plik tekstowy z danymi", filetypes = (("Pliki txt", "*.txt"), ("Wszystkie pliki", "*.*")))
Pole3Browse.filename = TKfld.askopenfilename(title = "Wybierz plik tekstowy z danymi", filetypes = (("Pliki txt", "*.txt"), ("Wszystkie pliki", "*.*")))
Pole3.delete(0, 'end')
Pole3.insert(0, Pole3Browse.filename)
@@ -291,7 +291,7 @@ class Main(TK.Tk):
PoleKonta.grid(row = wiersz, column = 1)
def PoleKontaBrowseDialog():
PoleKontaBrowse.filename = TKfld.askopenfilename(initialdir="C:/", title="Wybierz plik .csv dla poczty", filetypes=(("Pliki csv", "*.csv"), ("Wszystkie pliki", "*.*")))
PoleKontaBrowse.filename = TKfld.askopenfilename(title="Wybierz plik .csv dla poczty", filetypes=(("Pliki csv", "*.csv"), ("Wszystkie pliki", "*.*")))
PoleKonta.delete(0, 'end')
PoleKonta.insert(0, PoleKontaBrowse.filename)
@@ -324,13 +324,13 @@ class Main(TK.Tk):
PoleOffice.grid(row = wiersz, column = 1)
def PoleOfficeBrowseDialog():
PoleOfficeBrowse.filename = TKfld.askopenfilename(initialdir = "C:/", title = "Wybierz plik .csv dla poczty", filetypes = (("Pliki csv", "*.csv"), ("Wszystkie pliki", "*.*")))
PoleOfficeBrowse.filename = TKfld.askopenfilename(title = "Wybierz plik .csv dla office365", filetypes = (("Pliki csv", "*.csv"), ("Wszystkie pliki", "*.*")))
PoleOffice.delete(0, 'end')
PoleOffice.insert(0, PoleOfficeBrowse.filename)
PoleOfficeBrowse = TK.Button(Ramka2)
PoleOfficeBrowse.config(text = '...')
PoleOfficeBrowse.config(command = PoleKontaBrowseDialog)
PoleOfficeBrowse.config(command = PoleOfficeBrowseDialog)
PoleOfficeBrowse.config(bg = M_przycisktlo)
PoleOfficeBrowse.config(fg = M_przycisktext)
PoleOfficeBrowse.config(relief = 'flat')
@@ -366,7 +366,7 @@ class Main(TK.Tk):
PoleKontaEksport.grid(row = wiersz, column = 1)
def PoleKontaEksportBrowseDialog():
PoleKontaEksportBrowse.filename = TKfld.saveasfilename(initialdir = "C:/", title = "Zapisz", filetypes = (("Pliki csv", "*.csv"), ("Wszystkie pliki", "*.*")))
PoleKontaEksportBrowse.filename = TKfld.askdirectory(title = "Zapisz w...")
PoleKontaEksport.delete(0, 'end')
PoleKontaEksport.insert(0, PoleKontaEksportBrowse.filename)
@@ -398,7 +398,7 @@ class Main(TK.Tk):
PoleOfficeEksport.grid(row = wiersz, column = 1)
def PoleOfficeEksportBrowseDialog():
PoleOfficeEksportBrowse.filename = TKfld.saveasfilename(initialdir = "C:/", title = "Zapisz", filetypes = (("Pliki csv", "*.csv"), ("Wszystkie pliki", "*.*")))
PoleOfficeEksportBrowse.filename = TKfld.askdirectory(title = "Zapisz w...",)
PoleOfficeEksport.delete(0, 'end')
PoleOfficeEksport.insert(0, PoleOfficeEksportBrowse.filename)
@@ -443,11 +443,13 @@ class Main(TK.Tk):
def InfoOpen():
try:
x = open('.\instruction.txt')
x = open('readme.txt')
except FileNotFoundError:
MDdlg.err(4)
except:
MDdlg.err(22)
else:
OS.system("notepad .\instruction.txt")
OS.system("notepad readme.txt")
PrzyciskINFO = TK.Button(PasekDolny)
PrzyciskINFO.config(text = 'Instrukcja')

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -20,26 +20,30 @@
# ----------------------------------------------- # Kody dialogowe # ------------------------------------------------- #
E = [] # Błędy
E.append(["Nie znaleziono pliku konfiguracyjnego (config.cfg).\nPrzywróć plik. (E01x0000)", True]) #0
E.append(["Błąd pliku konfiguracyjnego (config.cfg).\nNiepoprawna ilość wierszy w pliku\nPrzywróć plik. (E01x0001)", True]) #1
E.append(["Bład pliku konfiguracyjnego (config.cfg).\nNiepoprawne dane w wierszu 1\nPrzywróć plik. (E01x0011)", True]) #2
E.append(["Bład pliku konfiguracyjnego (config.cfg).\nNiepoprawne dane w wierszu 2\nPrzywróć plik. (E01x0012)", True]) #3
E.append(["Nie znaleziono pliku składowego (instruction.txt)\nPrzywróć plik. (E03x0010)", False]) #4
E.append(["Nie znaleziono pliku konfiguracyjnego (config.cfg).\nPrzywróć plik. (E01x0001)", True]) #0
E.append(["Błąd pliku konfiguracyjnego (config.cfg).\nNiepoprawna ilość wierszy w pliku\nPrzywróć plik. (E01x0011)", True]) #1
E.append(["Bład pliku konfiguracyjnego (config.cfg).\nNiepoprawne dane w wierszu 1\nPrzywróć plik. (E01x0021)", True]) #2
E.append(["Bład pliku konfiguracyjnego (config.cfg).\nNiepoprawne dane w wierszu 2\nPrzywróć plik. (E01x0022)", True]) #3
E.append(["Nie znaleziono pliku składowego (readme.txt)\nPrzywróć plik. (E03x0011)", False]) #4
E.append(["Nie znaleziono pliku formatu (format.fmt).\nPrzywróć plik (E02x0000)", True]) #5
E.append(["Błąd pliku formatu (format.fmt).\nNie poprawne dane w formacie uczniów.\nIlość znaczników klasy w formacie uczniów nie jest równa 1 (E02x0002)", False]) #6
E.append(["Błąd pliku formatu (format.fmt).\nNie poprawne dane w formacie uczniów.\nIlość znaczników oddziału w formacie uczniów nie jest równa 1 (E02x0003)", False]) #7
E.append(["Błąd pliku formatu (format.fmt).\nNie poprawne dane w formacie uczniów.\nIlość znaczników nazwiska w formacie uczniów nie jest równa 1 (E02x0004)", False]) #8
E.append(["Błąd pliku formatu (format.fmt).\nNie poprawne dane w formacie uczniów.\nIlość znaczników imienia w formacie uczniów nie jest równa 1 (E02x0005)", False]) #9
E.append(["Błąd pliku formatu (format.fmt).\nNie poprawne dane w formacie uczniów.\nIlość znaczników loginu w formacie uczniów nie jest równa 1 (E02x0006)", False]) #10
E.append(["Błąd pliku formatu (format.fmt).\nPusty wiersz w formacie uczniów (E02x0001).", False]) #11
E.append(["Błąd pliku formatu (format.fmt).\nPusty wiersz w formacie nauczycieli (E02x0011).", False]) #12
E.append(["Błąd pliku formatu (format.fmt).\nNie poprawne dane w formacie nauczycieli.\nIlość znaczników nazwiska w formacie nauczycieli nie jest równa 1 (E02x0012)", False]) #13
E.append(["Błąd pliku formatu (format.fmt).\nNie poprawne dane w formacie nauczycieli.\nIlość znaczników imienia w formacie nauczycieli nie jest równa 1 (E02x0013)", False]) #14
E.append(["Błąd pliku formatu (format.fmt).\nNie poprawne dane w formacie nauczycieli.\nIlość znaczników loginu w formacie nauczycieli nie jest równa 1 (E02x0014)", False]) #15
E.append(["Błąd pliku formatu (format.fmt).\nNiedozwolone znaki w formacie. (E02x0020).", False]) #16
E.append(["Bład pliku konfiguracyjnego (config.cfg).\nNiepoprawne dane w wierszu 4\nPrzywróć plik. (E01x0013)", True]) #17
E.append(["Bład pliku konfiguracyjnego (config.cfg).\nNiepoprawne dane w wierszu 6\nPrzywróć plik. (E01x0014)", True]) #18
E.append(["Bład pliku konfiguracyjnego (config.cfg).\nNiepoprawne dane w wierszu 7\nPrzywróć plik. (E01x0015)", True]) #19
E.append(["Błąd pliku formatu (format.fmt).\nNie poprawne dane w formacie uczniów.\nIlość znaczników klasy w formacie uczniów nie jest równa 1 (E02x0102)", False]) #6
E.append(["Błąd pliku formatu (format.fmt).\nNie poprawne dane w formacie uczniów.\nIlość znaczników oddziału w formacie uczniów nie jest równa 1 (E02x0103)", False]) #7
E.append(["Błąd pliku formatu (format.fmt).\nNie poprawne dane w formacie uczniów.\nIlość znaczników nazwiska w formacie uczniów nie jest równa 1 (E02x0104)", False]) #8
E.append(["Błąd pliku formatu (format.fmt).\nNie poprawne dane w formacie uczniów.\nIlość znaczników imienia w formacie uczniów nie jest równa 1 (E02x0105)", False]) #9
E.append(["Błąd pliku formatu (format.fmt).\nNie poprawne dane w formacie uczniów.\nIlość znaczników loginu w formacie uczniów nie jest równa 1 (E02x0106)", False]) #10
E.append(["Błąd pliku formatu (format.fmt).\nPusty wiersz w formacie uczniów (E02x0101).", False]) #11
E.append(["Błąd pliku formatu (format.fmt).\nPusty wiersz w formacie nauczycieli (E02x0111).", False]) #12
E.append(["Błąd pliku formatu (format.fmt).\nNie poprawne dane w formacie nauczycieli.\nIlość znaczników nazwiska w formacie nauczycieli nie jest równa 1 (E02x0112)", False]) #13
E.append(["Błąd pliku formatu (format.fmt).\nNie poprawne dane w formacie nauczycieli.\nIlość znaczników imienia w formacie nauczycieli nie jest równa 1 (E02x0113)", False]) #14
E.append(["Błąd pliku formatu (format.fmt).\nNie poprawne dane w formacie nauczycieli.\nIlość znaczników loginu w formacie nauczycieli nie jest równa 1 (E02x0114)", False]) #15
E.append(["Błąd pliku formatu (format.fmt).\nNiedozwolone znaki w formacie. (E02x0120).", False]) #16
E.append(["Bład pliku konfiguracyjnego (config.cfg).\nNiepoprawne dane w wierszu 4\nPrzywróć plik. (E01x0023)", True]) #17
E.append(["Bład pliku konfiguracyjnego (config.cfg).\nNiepoprawne dane w wierszu 6\nPrzywróć plik. (E01x0024)", True]) #18
E.append(["Bład pliku konfiguracyjnego (config.cfg).\nNiepoprawne dane w wierszu 7\nPrzywróć plik. (E01x0025)", True]) #19
E.append(["Nieznany błąd podczas ładowania pliku konfiguracyjnego (config.cfg). (E01x0000)", True]) #20
E.append(["Nieznany błąd podczas ładowania pliku formatu (format.fmt)). (E02x0000)", True]) #21
E.append(["Nieznany błąd podczas ładowania pliku składowego (readme.txt) (E03x0011)", False]) #22
I = [] # Informacje

View File

@@ -36,7 +36,7 @@ except ModuleNotFoundError:
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('Treść błędu: ' + str(exc))
print('Kod błędu: E00x0010')
wait = input('Naciśnij ENTER aby wyjść')
SS.exit(0)
@@ -55,7 +55,7 @@ def CheckConfig(settings):
try:
if len(settings) != 7:
error = int('x')
except ValueError:
except:
MDdlg.err(1)
# Linia 1 (0/1)
@@ -63,7 +63,7 @@ def CheckConfig(settings):
check = int(settings[0])
if 0 > check > 1:
error = int('x')
except ValueError:
except:
MDdlg.err(2)
# Linia 2 (utf-8)
@@ -71,25 +71,25 @@ def CheckConfig(settings):
try:
if settings[1] not in DostepneKodowanieWyjsciowe:
error = int('x')
except ValueError:
except:
MDdlg.err(3)
# Linia 4 (int)
try:
x = int(settings[3])
except ValueError:
except:
MDdlg.err(17)
# Linia 6 (int)
try:
x = int(settings[5])
except ValueError:
except:
MDdlg.err(18)
# Linia 7 (int)
try:
x = int(settings[6])
except ValueError:
except:
MDdlg.err(19)
@@ -99,6 +99,8 @@ def read():
check = open('.\config.cfg')
except FileNotFoundError:
MDdlg.err(0)
except:
MDdlg.err(20)
else:
with open('.\config.cfg', 'r') as cfg:
config = cfg.read().split('\n')
@@ -117,6 +119,8 @@ def edit(settings):
check = open('.\config.cfg')
except FileNotFoundError:
MDdlg.err(0)
except:
MDdlg.err(20)
else:
SettingsToSave = []
SettingsToSave.append('Ciemny motyw(0/1): ' + str(settings[0]) + '\n')

View File

@@ -36,7 +36,7 @@ except ModuleNotFoundError:
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('Treść błędu: ' + str(exc))
print('Kod błędu: E00x0010')
wait = input('Naciśnij ENTER aby wyjść')
SS.exit(0)
@@ -55,14 +55,16 @@ def CheckFormat(Read, format):
poprawne = True
check = True
while check:
# Uczniowie
uczniowiefmt = ''
for x in format[0]:
uczniowiefmt += x
# Sprawdzanie pustych linii
try:
if format[0].count('') > 0:
error = int('x')
except ValueError:
except:
MDdlg.err(11)
if Read:
SS.exit(0)
@@ -70,10 +72,11 @@ def CheckFormat(Read, format):
poprawne = False
break
# Sprawdzanie ilości liter K
try:
if uczniowiefmt.count('K') != 1:
error = int('x')
except ValueError:
except:
MDdlg.err(6)
if Read:
SS.exit(0)
@@ -81,10 +84,11 @@ def CheckFormat(Read, format):
poprawne = False
break
# Sprawdzanie ilości liter O
try:
if uczniowiefmt.count('O') != 1:
error = int('x')
except ValueError:
except:
MDdlg.err(7)
if Read:
SS.exit(0)
@@ -92,10 +96,11 @@ def CheckFormat(Read, format):
poprawne = False
break
# Sprawdzanie ilości liter N
try:
if uczniowiefmt.count('N') != 1:
error = int('x')
except ValueError:
except:
MDdlg.err(8)
if Read:
SS.exit(0)
@@ -103,10 +108,11 @@ def CheckFormat(Read, format):
poprawne = False
break
# Sprawdzanie ilości liter I
try:
if uczniowiefmt.count('I') != 1:
error = int('x')
except ValueError:
except:
MDdlg.err(9)
if Read:
SS.exit(0)
@@ -114,10 +120,11 @@ def CheckFormat(Read, format):
poprawne = False
break
# Sprawdzanie ilości liter L
try:
if uczniowiefmt.count('L') != 1:
error = int('x')
except ValueError:
except:
MDdlg.err(10)
if Read:
SS.exit(0)
@@ -125,10 +132,17 @@ def CheckFormat(Read, format):
poprawne = False
break
# Nauczyciele
nauczycielefmt = ''
for x in format[1]:
nauczycielefmt += x
# Sprawdzanie pustych linii
try:
if format[1].count('') > 0:
error = int('x')
except ValueError:
except:
MDdlg.err(12)
if Read:
SS.exit(0)
@@ -136,14 +150,11 @@ def CheckFormat(Read, format):
poprawne = False
break
nauczycielefmt = ''
for x in format[1]:
nauczycielefmt += x
# Sprawdzanie ilości liter N
try:
if nauczycielefmt.count('N') != 1:
error = int('x')
except ValueError:
except:
MDdlg.err(13)
if Read:
SS.exit(0)
@@ -151,10 +162,11 @@ def CheckFormat(Read, format):
poprawne = False
break
# Sprawdzanie ilości liter I
try:
if nauczycielefmt.count('I') != 1:
error = int('x')
except ValueError:
except:
MDdlg.err(14)
if Read:
SS.exit(0)
@@ -162,10 +174,11 @@ def CheckFormat(Read, format):
poprawne = False
break
# Sprawdzanie ilości liter L
try:
if nauczycielefmt.count('L') != 1:
error = int('x')
except ValueError:
except:
MDdlg.err(15)
if Read:
SS.exit(0)
@@ -173,12 +186,14 @@ def CheckFormat(Read, format):
poprawne = False
break
# Sprawdzanie poprawności znaków
NiedozwoloneZnaki = ['1','2','3','4','5','6','7','8','9','0','W','E','R','T','Y','U','P','A','S','D','F','G','H','J','Z','C','V','B','M']
try:
for x in NiedozwoloneZnaki:
if x in nauczycielefmt+uczniowiefmt:
error = int('x')
except ValueError:
except:
MDdlg.err(16)
if Read:
SS.exit(0)
@@ -186,7 +201,8 @@ def CheckFormat(Read, format):
poprawne = False
break
check = False
return poprawne
if not Read:
return poprawne
@@ -196,6 +212,8 @@ def read():
check = open(r'.\format.fmt')
except FileNotFoundError:
MDdlg.err(5)
except:
MDdlg.err(21)
else:
with open(r'.\format.fmt', 'r') as fmt:
fmt = fmt.read().split('\n<separator>\n')
@@ -217,6 +235,8 @@ def edit(format):
check = open(r'.\format.fmt')
except FileNotFoundError:
MDdlg.err(5)
except:
MDdlg.err(21)
else:
FormatToSaveX = []
for x in xformat: