From cdb254129272e493c9f068618cb6de5e3c3f7717 Mon Sep 17 00:00:00 2001 From: Mateusz Skoczek Date: Thu, 6 Aug 2020 18:20:52 +0200 Subject: [PATCH] 4.0 Alpha (Build 19349.2) --- .idea/workspace.xml | 3 +- changelog-UC.txt | 6 + components/__pycache__/dialog.cpython-38.pyc | Bin 987 -> 1733 bytes .../__pycache__/load_config.cpython-38.pyc | Bin 2587 -> 1874 bytes .../__pycache__/load_format.cpython-38.pyc | Bin 0 -> 632 bytes .../__pycache__/processing.cpython-38.pyc | Bin 1656 -> 1656 bytes components/dataprocess.py | 38 ----- components/dialog.py | 46 +++++- components/format.py | 141 ------------------ components/load_config.py | 38 ++--- components/load_format.py | 40 +++++ components/main.py | 28 ++-- components/processing.py | 1 + format.fmt | 0 generator.py | 40 +---- 15 files changed, 119 insertions(+), 262 deletions(-) create mode 100644 components/__pycache__/load_format.cpython-38.pyc delete mode 100644 components/dataprocess.py delete mode 100644 components/format.py create mode 100644 components/load_format.py create mode 100644 format.fmt diff --git a/.idea/workspace.xml b/.idea/workspace.xml index f5214e2..75e322a 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -80,6 +80,7 @@ + @@ -102,6 +103,6 @@ - + \ No newline at end of file diff --git a/changelog-UC.txt b/changelog-UC.txt index 74da955..8e7a1d8 100644 --- a/changelog-UC.txt +++ b/changelog-UC.txt @@ -24,3 +24,9 @@ - Doprowadzenie programu do podstawowego stanu użyteczności (występuje błąd: nie można dodać drugiej ścieżki poprzez wybór) - Utworzenie systemu crashlogów - Zastosowanie systemu crashlogów dla głównego modułu + +4.0 Alpha (Build 19349.2) +- Nowy system dialogowy +- Stworzenie pliku formatu +- Usunięcie plików format.py i dataprocess.py +- Przygotowanie do dalszych prac diff --git a/components/__pycache__/dialog.cpython-38.pyc b/components/__pycache__/dialog.cpython-38.pyc index 7ef5676d21813b4ea7e14cf572db33c245c6dcca..ebafbb8183fd8c7de5390409ca6f611b62030691 100644 GIT binary patch literal 1733 zcmb_c&2QsG6rZu3CUKKeU=gasVOD!tBM~J9A@LzZ+0CvBYBnN;m8_s@;+eXRKgJr{ zB#xF#wH5yW2c*5UN6x)+Yx7U|%4tuW;LIDlMJ?J$ATic_yf-uN{pR=H^Ed6biJ;k^ z{Q2GQb%cIX!p&xY@HzD4Cm0yAk&A51@u|iz(_HNgV^m7|Ey=hg)ow{^tX|y%OFGxV zQsaikU`=KQHG2)_^`IU$>?TI6#oEu2ZL$sa8qDi#lf4deig3aiyMo+zN=?T(bghm#l#6^OFU~K2EYEky z{eHJM??SWoGarn8u{^#!VgJq;0Ek5_=?u_$fmpr(t1}M>TI6I_nON=axy+p-vIspIkx(pu<&cUh5_w2nMNu~apeG-~z;KG5p)JI; zE%Y|}0jH{L^=J4@!{}dRVgzB1yvhlZ^G@Td6Hh9#2%#hq)fHDrc~~- zH5jVod#PlrR^Wb7+y5#|CU!G90`jC3vd~7O!r*f+wKUu8E7fkq_}s4VRq%g7vH{os zcnm}T z>?O)F!kf4SpHzRiTTCg~HRvT%9ayC36a!n@HCrV^m81hh@BV`!V_=)R(V>tbb*8jr zMe1P2s!3(mZYUN!I8fkSspyjMYeg2eo9b3cL;3bwBPQ2DkZq;WlRPOOUer_Hi&6-S%FYr(8IJO8 srL`MGsG!M`jmD=T{9FV6nTk}RUTVB$;En6gfVE+?8nsrd(QGvS0w229bpQYW delta 594 zcmZXR&1w`u5P++DdbWFZXCWXY?jabAh^vy5w}cQAB#Pu9L4^TXhUr!}J3AxQvxGpx zl8_gWxp#!@wz`<1*1>PW2%RXWidH+-IB|r`f>}HE%VFX|sT~9+KnvG>8Qz^95&u z*SX2&?U$}u`#2$Bx9jp@ Oo)4=VCWvDb8S@(lICBR8 diff --git a/components/__pycache__/load_config.cpython-38.pyc b/components/__pycache__/load_config.cpython-38.pyc index 64f87e9c5be16d785d9e26e35fafb19761bcade0..3474cb22a1d8aeb773a9f00fb997562fd71fa263 100644 GIT binary patch delta 1058 zcmZ9L&2JM&6u{?eKfG~FB4|EDD;5w{+zQvUmx2&d1xXv)`hW=p3mPqX6Klg}*B#H2 z*s>KhsnjDv(@T|$qy7Qyy*=W8pz4MB4|40Nhn|?(pa9*G-kaH(_wjpg=HSdYrD z9@&fh=1S{H%=85D z0GT3qjU!?b(0Jzv8!fEpJGtDr{P__z^Qxn1!c$G-RO;Yfl;nI-h)ihb+gp&dHRVF6 zADpYWqW*9qd|7?qevGHovirqtAg^ORTt(8hlkSsew}*IuN9+)d9AJlrppAxfKyIN& zb3->;-K-fs>9b{9%Az>J8ocH2q;%T9ZeLQuZ&=2z VC15kYLvR^auy4jx*+1(~zXB0o326WT literal 2587 zcmb_e&2QX96d!->I?g6d8Z}K?1TFH8<>&_hWg8^n{> z2_2!Md!#-_PtY+K$LTmd3FAp>)JSzHlsZ8^AH+jU&nF~2T+l?=jXN?t+#F2RX=-}JT#;iHB zRH;<9D|6*=`A{($51%)Uif1m^nK!fcR`aE*=1|pY*hXFbdlt>C{0n7Ohjn>ZSP?ky zxV--W9E=l)X;o6Y`_<- z@J`%+;Cc=Nd~_Y(^7uJp5l{p(?cnhv5!<)Tq~ll~fT8~z159Gr;*QnCPwH}yM=*vW zv~Tl{!%$II@TRaj;qntOK&oLKslze=JCWr>cN++?}yuW8B z;IJ*BCxc6c5xd0#JpS)MlBt07$gV`Cwjw42=o-7yjszXxRh0xXbb$Br4iG5&YM?!< z_M{R>Jwlafklle!)00)AkhUu7R0X=_sS@$@WAuG8 z`55VgBhtkq(gb=;q54FIFG{6tfuH;YNuq_p*2VYBdaAh0OBKfpQsai@hHOa)E>i8< zB6XXo0&i&%N)_RL$jluw^JO*FeHH|c*Ys13<&ySoX1D8S7P%j=uE(x&3h9HCuEj0i zcAz)>Lc|!j@aN}1mM%5E@Yteo?y|-e&tr`h!CL?_Xhk_-9zTj2PkW;Y&9Pzg4j>HL zq2F-1MK=fCp&O^e3ut;F>lPn@a{qN8M3$uz+@sQ%g51=AFGz>;;w0>{aqHow0fQ$? zhKBEeNlF2n9gtBnK!5}Ycxw=Id0z?CLChQL1a|^jt9HZ2n!Eg&<&q z#+H~$B9)9pzGMmnad{|Jc^6VTzU;WH%7bMddNfO_K!A%OAXx&jWu~fN7ELuDdT)>x ztS(5>EFNV|oWPw5nkeMv#0V--kYECHGLGCdkac+cNgyPPEW}&JsH>7LO~RAyd9LO# z%IHlN<$YlCijy$fP+fdU(fq@xW8{}XRd%Y?qz|Ul20S-xMSsfn4(M;v-xiUl_ z%SxQWo&}OBegIV%2`6Bwa>d(9)hiV^ z;Z5)F$w261f>h}YB&P&3B}trzwemz- z+}xzx-rUSUf=6`j71o0oMgo6YL||!wld+%5wOU%p5Buy((h2;xcmaE<))m-eG{@_P zL8?X;;7w)QPLKx!0hBp#1X&rz5MHVNA^vo@>|>0vZvs(IA+EAp)<^WLvPZKI87t{$ H_3?iI;JK^c diff --git a/components/__pycache__/load_format.cpython-38.pyc b/components/__pycache__/load_format.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d5847b21f47fc0d86506c66ae61e2767e42b6f67 GIT binary patch literal 632 zcmYjOv2GJV5Zyc5i8(oGkZ5RDN`nim3!+JcP$Y6e2y7w_2v|ne+B;Zl@9m!UZn5u5 zhbZ5G+(1c9ONZ|#uBGAwpk~fN5i{DiJ8woaJ2S6#c07WzIQa9e4+1o!g|?tDS!Em7_p z!rhRx8+L^$y*>IE6d0Cj^C*0c<{6k|%IN)$PlH7aMns@eCebs>XqTm6lbnV#J-&^e&wk%X0z6#|?o_E*b5Ir!>?fEn)6?dq{RQx5bj?%;f6}p0nxtVw}-f zikX0jzSkyVsl~`&_&w6ItU>`aS4=`Kw9+)%WUw?gdSX~)=^ZYZ)RRt}wY@4f(#3bh zutc$BT+iA1@;cUgsyQ7M%k?L24{6~03*Yzm?d_@x8;fG4#FPfTm%$6lu;F<&EmrHx zwpVTshg^?`!?KoSN$G}Rxph^wY;=#goRl}K#w7G~dZMl3fic>Yjo1j4mJOj|o0j!C z6Ns=7=~rS}SaSovtK|lVgXap4jrahACrZKK)aWV9aJv86{PAr*xZV}TWevtUinYS^ lBm=1#A70H4r%*N@R5OzB(80{fE<*iQv*tQ2XV+<>{sp}r!NC9k literal 0 HcmV?d00001 diff --git a/components/__pycache__/processing.cpython-38.pyc b/components/__pycache__/processing.cpython-38.pyc index 2c3e1dcaf56523856fe32febbe44aace32ba5c0b..51255a34bd6c7b8b9c96ce794322cd6014bbda69 100644 GIT binary patch delta 111 zcmeyt^Mi*sl$V!_0SL}IeT#M5$m__$7&Y0S#S2KzVwukV*>JuK?ZX$f*}(J69C|27HI$g delta 111 zcmeyt^Mi*sl$V!_0SLBBe~Y!>$m__$cx$phix-fb#WJ5!cCr;~I3vg8Nv!FN@{@nD px>!j7)fUNv2w7A@4#>U5VUwGmQks)$#|Y#VgAC?i1VbhcCIB8(7cu|< diff --git a/components/dataprocess.py b/components/dataprocess.py deleted file mode 100644 index 9bc6c9b..0000000 --- a/components/dataprocess.py +++ /dev/null @@ -1,38 +0,0 @@ -import time as TM - -def plr(text): - text1 = text.replace('ę', 'e') - text2 = text1.replace('ó', 'o') - text3 = text2.replace('ą', 'a') - text4 = text3.replace('ś', 's') - text5 = text4.replace('ł', 'l') - text6 = text5.replace('ż', 'z') - text7 = text6.replace('ź', 'z') - text8 = text7.replace('ć', 'c') - text9 = text8.replace('ń', 'n') - text10 = text9.replace('Ę', 'E') - text11 = text10.replace('Ó', 'O') - text12 = text11.replace('Ą', 'A') - text13 = text12.replace('Ś', 'S') - text14 = text13.replace('Ł', 'L') - text15 = text14.replace('Ż', 'Z') - text16 = text15.replace('Ź', 'Z') - text17 = text16.replace('Ć', 'C') - text = text17.replace('Ń', 'N') - return text - -def ctc(Klasa): - czas = TM.localtime() - miesiac = czas[1] - if miesiac >= 9: - rokpodst = czas[0] - else: - rokpodst = czas[0] - 1 - nrklasy = int(Klasa[0]) - literaklasy = Klasa[1] - szkola = Klasa.split(' ')[1] - if szkola == 'BS': - znacznik = str((4 - nrklasy) + rokpodst) + szkola - else: - znacznik = str((5 - nrklasy) + rokpodst) + literaklasy - return znacznik \ No newline at end of file diff --git a/components/dialog.py b/components/dialog.py index e022e84..36c1e05 100644 --- a/components/dialog.py +++ b/components/dialog.py @@ -14,11 +14,41 @@ + + + +# ----------------------------------------------- # 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 + + + +I = [] # Informacje +I.append(["Pomyślnie zapisano!\nDla niektórych zmian może być wymagane ponowne uruchomienie programu", False]) #0 (I0001) + + + +A = [] # Zapytania + + + + + + + + # ----------------------------------- # Import bibliotek zewnętrznych i modułów # ------------------------------------ # # Biblioteki zewnętrzne import sys as SS + + # Biblioteki zewnętrzne interfejsu graficznego from tkinter import messagebox as TKmsb @@ -32,25 +62,25 @@ from tkinter import messagebox as TKmsb # --------------------------------------------------- # Funkcje # ---------------------------------------------------- # # Okno dialogowe błędu -def Err(KodBledu): - Message = 'Wystąpił błąd!\n' + KodBledu[0] +def err(ErrorIndex): + Message = 'Wystąpił błąd!\n' + E[ErrorIndex][0] TKmsb.showerror('Błąd', Message) - if KodBledu[1]: + if E[ErrorIndex][1]: SS.exit(0) # Okno dialogowe informacyjne -def Inf(KodInformacji): - TKmsb.showinfo('Informacja', KodInformacji[0]) - if KodInformacji[1]: +def inf(InfoIndex): + TKmsb.showinfo('Informacja', I[InfoIndex][0]) + if I[InfoIndex][1]: SS.exit(0) # Okno dialogowe zapytania -def Ask(KodZapytania): - if TKmsb.askokcancel('Pytanie', KodZapytania): +def Ask(AskIndex): + if TKmsb.askokcancel('Pytanie', A[AskIndex]): return True else: return False diff --git a/components/format.py b/components/format.py deleted file mode 100644 index 69472dc..0000000 --- a/components/format.py +++ /dev/null @@ -1,141 +0,0 @@ -# Oznaczenia zmiennych: -# K - Klasa -# N - Nazwisko -# I - Imie -# L - Login do librusa - - - - - -import codecs as cd - -def SprawdzKlasa(K): - if len(K.split(' ')) != 2: # Wywołuje błąd jeżeli napis nie dzieli się w pożądanym formacie - blad = int('x') # - - for x in range(0,10): # - if K[1:].find(str(x)) != -1: # Wywołuje bląd jeżeli w nazwie klasy (poza numerem klasy) znajduje się liczba - blad = int('x') # - - numery_niedozwolone = [0,9,8,7,6,5,4] # Określa numery klas które nie istnieją - - for x in numery_niedozwolone: # - if K[0] == str(x): # Wywołuje błąd jeżeli numer klasy jest równy numerowi niedozwolonemu - blad = int('x') # - - szkoly = ['BS', 'LO'] # Określa istniejące szkoly - - if K.split(' ')[1] not in szkoly: # Wywołuje błąd jeżeli szkola nie należy do szkół istniejących - blad = int('x') # - - oddzialy = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'r', 's', 't', 'w', 'y', 'z'] # Określa istniejące oddzialy - - if K[1] not in oddzialy: # Wywołuje błąd jeżeli oddział nie należy do oddziałów istniejących - blad = int('x') # - - -def SprawdzNazwisko(N): - for a in N: - for x in range(0,10): # - if a.find(str(x)) != -1: # Wywoluje blad jeżeli nazwisko zawiera liczbę - blad = int('x') # - - -def SprawdzImie(I): - for x in range(0,10): # - if I.find(str(x)) != -1: # Wywoluje blad jeżeli imie zawiera liczbę - blad = int('x') # - - -def SprawdzLogin(L, CzyUczen): - if CzyUczen and L[-1] != 'u': # Wywoluje blad jeżeli login ucznia nie zawiera na końcu 'u' - blad = int('x') # - - if CzyUczen: # - blad = int(L[:-1]) # Wywoluje blad jeżeli login (-'u' dla ucznia) nie jest liczbą - else: # - blad = int(L) # - - - - -def przetworz(dane): - dane = dane.split('\n\n') # dzielenie danych na pojedyńcze osoby - - przetworzone = [] # tworzenie kontenera na przetworzone dane - - for osoba in dane: # - try: # - x = int(osoba[0]) # - except ValueError: # Sprawdza czy osoba jest nauczycielem czy uczniem - CzyUczen = False # - else: # - CzyUczen = True # - - # Dla uczniów - if CzyUczen: - K = osoba.split(', ')[0].split(' ')[:2] - K = K[0] + ' ' + K[1] - N = osoba.split(', ')[0].split(' ')[2:] - I = osoba.split(', ')[1].split(' ')[0] - L = osoba.split(', ')[1].split(' ')[2] - - # Sprawdzenie poprawności - SprawdzKlasa(K) - SprawdzNazwisko(N) - SprawdzImie(I) - SprawdzLogin(L, CzyUczen) - - dane = [K, N, I, L, CzyUczen] - przetworzone.append(dane) - # Dla nauczycieli - else: - N = osoba.split(', ')[0].split(' ') - I = osoba.split(', ')[1].split(' ')[-4] - L = osoba.split(', ')[1].split(' ')[-2] - - # Sprawdzenie poprawnosci - SprawdzNazwisko(N) - SprawdzImie(I) - SprawdzLogin(L, CzyUczen) - - dane = [N, I, L, CzyUczen] - przetworzone.append(dane) - return przetworzone - - - - - - -# Legenda do części dokumentacji poniżej: -# X - Dane nieznaczące -# Q - Pusta linia - - -# Format danych dla uczniów: -# , -# - -# Przykład: -# 1a BS Nowak, Adam 1234567u -# - - -# Format danych dla nauczycieli: -# , -# - -# Przykład: -# Nowak, Adam 1234567 -# - - - - -# Inne: -# - skrypt akceptuje prefix 'ks.', nieuwzględnia go w przetwarzaniu -# - skrypt akceptuje nazwiska holenderskie (typu 'van X', 'van der X' itp.) i uwzględnia je w przetwarzaniu -# - skrypt nie akceptuje nazwisk złożonych (np. Nowak-Kowalska) -# - skrypt wymaga kodowania ANSI diff --git a/components/load_config.py b/components/load_config.py index f8cca29..4032213 100644 --- a/components/load_config.py +++ b/components/load_config.py @@ -17,35 +17,19 @@ -# ----------------------------------------- # 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] - -I001 = ["Pomyślnie zapisano!\nDla niektórych zmian może być wymagane ponowne uruchomienie programu", False] - - - - - - - - - # ----------------------------------- # 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ć') + print('Nie znaleziono modułu programu (dialog.py)\nNie można załadować programu\nKod błędu: E00x0001') + wait = input('Naciśnij ENTER aby wyjść') SS.exit(0) @@ -64,7 +48,7 @@ def CheckConfig(settings): if len(settings) != 2: error = int('x') except ValueError: - MDdlg.Err(E002x00) + MDdlg.err(1) # Linia 1 (0/1) try: @@ -72,15 +56,15 @@ def CheckConfig(settings): if 0 > check > 1: error = int('x') except ValueError: - MDdlg.Err(E002x01) - + MDdlg.err(2) # Linia 2 (utf-8) + DostepneKodowanieWyjsciowe = ['utf-8'] try: if settings[1] not in DostepneKodowanieWyjsciowe: error = int('x') except ValueError: - MDdlg.Err(E002x02) + MDdlg.err(3) @@ -89,7 +73,7 @@ def read(): try: check = open('.\config.cfg') except FileNotFoundError: - MDdlg.Err(E001x01) + MDdlg.err(0) else: with open('.\config.cfg', 'r') as cfg: config = cfg.read().split('\n') @@ -107,7 +91,7 @@ def edit(settings): try: check = open('.\config.cfg') except FileNotFoundError: - MDdlg.Err(E001x01) + MDdlg.err(0) else: SettingsToSave = [] SettingsToSave.append('Ciemny motyw(0/1): ' + str(settings[0]) + '\n') @@ -115,4 +99,4 @@ def edit(settings): with open('.\config.cfg', 'w') as cfg: for x in SettingsToSave: cfg.write(x) - MDdlg.Inf(I001) \ No newline at end of file + MDdlg.inf(0) \ No newline at end of file diff --git a/components/load_format.py b/components/load_format.py new file mode 100644 index 0000000..6bda8c5 --- /dev/null +++ b/components/load_format.py @@ -0,0 +1,40 @@ +""" +# GeneratorCSV +# Wersja 4.0 Experimental +# by Mateusz Skoczek +# luty 2019 - grudzień 2019 +# dla ZSP Sobolew + +# +# Moduł zarządzający plikiem formatu +# +""" + + + + + + + + +# ----------------------------------- # 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('Nie znaleziono modułu programu (dialog.py)\nNie można załadować programu\nKod błędu: E00x0001') + wait = input('Naciśnij ENTER aby wyjść') + SS.exit(0) + + + + + + + + +# --------------------------------------------------- # Funkcje # ---------------------------------------------------- # \ No newline at end of file diff --git a/components/main.py b/components/main.py index e98f86d..daffd0a 100644 --- a/components/main.py +++ b/components/main.py @@ -14,6 +14,9 @@ + + + # -------------------------------------------- # Informacje o programie # -------------------------------------------- # Nazwa = 'GeneratorCSV' @@ -28,10 +31,6 @@ Wersja = '4.0 Experimental' # ----------------------------------------- # Definicja kodów dialogowych # ------------------------------------------ # -E000x01 = "Brak modułu wywołującego okna dialogowe ('dialog.py').\nPrzywróć plik. (E000x01)" -E000x02 = ["Brak modułu zarządzającego plikiem konfiguracyjnym ('load_config.py').\nPrzywróć plik. (E000x02)", True] -E001x01 = ["Brak pliku formatu 'format.py'.\nPrzywróć plik. (E001x01)", True] -E001x02 = ["Brak pliku instrukcji ('instruction.txt').\nPrzywróć plik. (E001x02)", False] E003x01 = ["Nie podano lokalizacji plików do importu. (E003x01)", False] E003x02 = ["Nie podano lokalizacji zapisu wygenerowanych plików. (E003x02)", False] @@ -61,24 +60,31 @@ import sys as SS 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ć') + print('Nie znaleziono modułu programu (dialog.py)\nNie można załadować programu\nKod błędu: E00x0001') + wait = input('Naciśnij ENTER aby wyjść') SS.exit(0) try: import load_config as MDlcg except ModuleNotFoundError: - MDdlg.Err(E000x02) + print('Nie znaleziono modułu programu (load_config.py)\nNie można załadować programu\nKod błędu: E00x0002') + wait = input('Naciśnij ENTER aby wyjść') + SS.exit(0) try: - import format as MDfmt + import load_format as MDlfm except ModuleNotFoundError: - MDdlg.Err(E000x02) + print('Nie znaleziono modułu programu (load_format.py)\nNie można załadować programu\nKod błędu: E00x0003') + wait = input('Naciśnij ENTER aby wyjść') + SS.exit(0) try: import processing as MDprc except ModuleNotFoundError: - MDdlg.Err(E000x02) + print('Nie znaleziono modułu programu (processing.py)\nNie można załadować programu\nKod błędu: E00x0004') + wait = input('Naciśnij ENTER aby wyjść') + SS.exit(0) + # Biblioteki zewnętrzne interfejsu graficznego @@ -93,7 +99,7 @@ import tkinter as TK - +#TODO # ------------------------------------- # Uruchomienie interfejsu graficznego # -------------------------------------- # # Zmienne globalne środowiska graficznego diff --git a/components/processing.py b/components/processing.py index 7c9b316..12f2077 100644 --- a/components/processing.py +++ b/components/processing.py @@ -1,3 +1,4 @@ +#TODO import dataprocess as MDdtp import load_config as MDlcg import dialog as MDdlg diff --git a/format.fmt b/format.fmt new file mode 100644 index 0000000..e69de29 diff --git a/generator.py b/generator.py index af82ea4..b765a01 100644 --- a/generator.py +++ b/generator.py @@ -17,45 +17,13 @@ -# ------------ # Import bibliotek zewnętrznych i modułów oraz inicjacja funkcji zapisywania crashlogów # ------------- # - -# Funkcja zapisująca crashlogi -def crash(ErrorCode): - import sys as SS - import time as TM - d = TM.localtime() - name = 'crashlogs/crash_' + str(d[2]) + str(d[1]) + str(d[0]) + str(d[3]) + str(d[4]) + str(d[5]) + '.txt' - with open(name, 'w') as crash: - crash.write('Critical error!\n' + ErrorCode) - SS.exit(0) - -# Błędy -E000x00 = "Brak głównego pliku składowego programu ('main.py'). Przywróć plik. (E000x00)" - - - - - - - - -# ----------------------------------- # Import bibliotek zewnętrznych i modułów # ------------------------------------ # - -import os as OS - - - - - - - - - # ----------------------------------------- # Uruchomienie głównego modułu # ----------------------------------------- # try: fck = open("components/main.py") except: - crash(E000x00) + print('Nie znaleziono głównego modułu programu (main.py)\nNie można załadować programu\nKod błędu: E00x0000') + wait = input('Naciśnij ENTER aby wyjść') else: - OS.system("components\main.py") \ No newline at end of file + import os + os.system("components\main.py") \ No newline at end of file