4.0 Alpha (Build 19349.2)
This commit is contained in:
3
.idea/workspace.xml
generated
3
.idea/workspace.xml
generated
@@ -80,6 +80,7 @@
|
|||||||
<workItem from="1575490006287" duration="48000" />
|
<workItem from="1575490006287" duration="48000" />
|
||||||
<workItem from="1576401956701" duration="4897000" />
|
<workItem from="1576401956701" duration="4897000" />
|
||||||
<workItem from="1576407152914" duration="5325000" />
|
<workItem from="1576407152914" duration="5325000" />
|
||||||
|
<workItem from="1576412749235" duration="7110000" />
|
||||||
</task>
|
</task>
|
||||||
<servers />
|
<servers />
|
||||||
</component>
|
</component>
|
||||||
@@ -102,6 +103,6 @@
|
|||||||
<component name="com.intellij.coverage.CoverageDataManagerImpl">
|
<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/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/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="1576412477883" 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="1576420299727" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
||||||
@@ -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)
|
- 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
|
- Utworzenie systemu crashlogów
|
||||||
- Zastosowanie systemu crashlogów dla głównego modułu
|
- 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
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
BIN
components/__pycache__/load_format.cpython-38.pyc
Normal file
BIN
components/__pycache__/load_format.cpython-38.pyc
Normal file
Binary file not shown.
Binary file not shown.
@@ -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
|
|
||||||
@@ -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 # ------------------------------------ #
|
# ----------------------------------- # Import bibliotek zewnętrznych i modułów # ------------------------------------ #
|
||||||
|
|
||||||
# Biblioteki zewnętrzne
|
# Biblioteki zewnętrzne
|
||||||
import sys as SS
|
import sys as SS
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Biblioteki zewnętrzne interfejsu graficznego
|
# Biblioteki zewnętrzne interfejsu graficznego
|
||||||
from tkinter import messagebox as TKmsb
|
from tkinter import messagebox as TKmsb
|
||||||
|
|
||||||
@@ -32,25 +62,25 @@ from tkinter import messagebox as TKmsb
|
|||||||
# --------------------------------------------------- # Funkcje # ---------------------------------------------------- #
|
# --------------------------------------------------- # Funkcje # ---------------------------------------------------- #
|
||||||
|
|
||||||
# Okno dialogowe błędu
|
# Okno dialogowe błędu
|
||||||
def Err(KodBledu):
|
def err(ErrorIndex):
|
||||||
Message = 'Wystąpił błąd!\n' + KodBledu[0]
|
Message = 'Wystąpił błąd!\n' + E[ErrorIndex][0]
|
||||||
TKmsb.showerror('Błąd', Message)
|
TKmsb.showerror('Błąd', Message)
|
||||||
if KodBledu[1]:
|
if E[ErrorIndex][1]:
|
||||||
SS.exit(0)
|
SS.exit(0)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Okno dialogowe informacyjne
|
# Okno dialogowe informacyjne
|
||||||
def Inf(KodInformacji):
|
def inf(InfoIndex):
|
||||||
TKmsb.showinfo('Informacja', KodInformacji[0])
|
TKmsb.showinfo('Informacja', I[InfoIndex][0])
|
||||||
if KodInformacji[1]:
|
if I[InfoIndex][1]:
|
||||||
SS.exit(0)
|
SS.exit(0)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Okno dialogowe zapytania
|
# Okno dialogowe zapytania
|
||||||
def Ask(KodZapytania):
|
def Ask(AskIndex):
|
||||||
if TKmsb.askokcancel('Pytanie', KodZapytania):
|
if TKmsb.askokcancel('Pytanie', A[AskIndex]):
|
||||||
return True
|
return True
|
||||||
else:
|
else:
|
||||||
return False
|
return False
|
||||||
|
|||||||
@@ -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:
|
|
||||||
# <Klasa> <Nazwisko>, <Imie> <X> <Login do librusa> <X>
|
|
||||||
# <Q>
|
|
||||||
|
|
||||||
# Przykład:
|
|
||||||
# 1a BS Nowak, Adam <NieznaczaceDane> 1234567u <NieznaczaceDane>
|
|
||||||
#
|
|
||||||
|
|
||||||
|
|
||||||
# Format danych dla nauczycieli:
|
|
||||||
# <Nazwisko>, <Imie> <X> <Login do Librusa> <X>
|
|
||||||
# <Q>
|
|
||||||
|
|
||||||
# Przykład:
|
|
||||||
# Nowak, Adam <NieznaczaceDane> 1234567 <NieznaczaceDane>
|
|
||||||
#
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# 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
|
|
||||||
@@ -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 # ------------------------------------ #
|
# ----------------------------------- # Import bibliotek zewnętrznych i modułów # ------------------------------------ #
|
||||||
|
|
||||||
# Biblioteki zewnętrzne
|
# Biblioteki zewnętrzne
|
||||||
import sys as SS
|
import sys as SS
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Moduły składowe programu
|
# Moduły składowe programu
|
||||||
try:
|
try:
|
||||||
import dialog as MDdlg
|
import dialog as MDdlg
|
||||||
except ModuleNotFoundError:
|
except ModuleNotFoundError:
|
||||||
print('Nieoczekiwany wyjatek - nie mozna wygenerowac okna dialogowego bledu\n\nBŁĄD KRYTYCZNY!\n%s') %E000x01
|
print('Nie znaleziono modułu programu (dialog.py)\nNie można załadować programu\nKod błędu: E00x0001')
|
||||||
wait = input('Naciśnij ENTER aby zakończyć')
|
wait = input('Naciśnij ENTER aby wyjść')
|
||||||
SS.exit(0)
|
SS.exit(0)
|
||||||
|
|
||||||
|
|
||||||
@@ -64,7 +48,7 @@ def CheckConfig(settings):
|
|||||||
if len(settings) != 2:
|
if len(settings) != 2:
|
||||||
error = int('x')
|
error = int('x')
|
||||||
except ValueError:
|
except ValueError:
|
||||||
MDdlg.Err(E002x00)
|
MDdlg.err(1)
|
||||||
|
|
||||||
# Linia 1 (0/1)
|
# Linia 1 (0/1)
|
||||||
try:
|
try:
|
||||||
@@ -72,15 +56,15 @@ def CheckConfig(settings):
|
|||||||
if 0 > check > 1:
|
if 0 > check > 1:
|
||||||
error = int('x')
|
error = int('x')
|
||||||
except ValueError:
|
except ValueError:
|
||||||
MDdlg.Err(E002x01)
|
MDdlg.err(2)
|
||||||
|
|
||||||
# Linia 2 (utf-8)
|
# Linia 2 (utf-8)
|
||||||
|
|
||||||
DostepneKodowanieWyjsciowe = ['utf-8']
|
DostepneKodowanieWyjsciowe = ['utf-8']
|
||||||
try:
|
try:
|
||||||
if settings[1] not in DostepneKodowanieWyjsciowe:
|
if settings[1] not in DostepneKodowanieWyjsciowe:
|
||||||
error = int('x')
|
error = int('x')
|
||||||
except ValueError:
|
except ValueError:
|
||||||
MDdlg.Err(E002x02)
|
MDdlg.err(3)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -89,7 +73,7 @@ def read():
|
|||||||
try:
|
try:
|
||||||
check = open('.\config.cfg')
|
check = open('.\config.cfg')
|
||||||
except FileNotFoundError:
|
except FileNotFoundError:
|
||||||
MDdlg.Err(E001x01)
|
MDdlg.err(0)
|
||||||
else:
|
else:
|
||||||
with open('.\config.cfg', 'r') as cfg:
|
with open('.\config.cfg', 'r') as cfg:
|
||||||
config = cfg.read().split('\n')
|
config = cfg.read().split('\n')
|
||||||
@@ -107,7 +91,7 @@ def edit(settings):
|
|||||||
try:
|
try:
|
||||||
check = open('.\config.cfg')
|
check = open('.\config.cfg')
|
||||||
except FileNotFoundError:
|
except FileNotFoundError:
|
||||||
MDdlg.Err(E001x01)
|
MDdlg.err(0)
|
||||||
else:
|
else:
|
||||||
SettingsToSave = []
|
SettingsToSave = []
|
||||||
SettingsToSave.append('Ciemny motyw(0/1): ' + str(settings[0]) + '\n')
|
SettingsToSave.append('Ciemny motyw(0/1): ' + str(settings[0]) + '\n')
|
||||||
@@ -115,4 +99,4 @@ def edit(settings):
|
|||||||
with open('.\config.cfg', 'w') as cfg:
|
with open('.\config.cfg', 'w') as cfg:
|
||||||
for x in SettingsToSave:
|
for x in SettingsToSave:
|
||||||
cfg.write(x)
|
cfg.write(x)
|
||||||
MDdlg.Inf(I001)
|
MDdlg.inf(0)
|
||||||
40
components/load_format.py
Normal file
40
components/load_format.py
Normal file
@@ -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 # ---------------------------------------------------- #
|
||||||
@@ -14,6 +14,9 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# -------------------------------------------- # Informacje o programie # -------------------------------------------- #
|
# -------------------------------------------- # Informacje o programie # -------------------------------------------- #
|
||||||
|
|
||||||
Nazwa = 'GeneratorCSV'
|
Nazwa = 'GeneratorCSV'
|
||||||
@@ -28,10 +31,6 @@ Wersja = '4.0 Experimental'
|
|||||||
|
|
||||||
# ----------------------------------------- # Definicja kodów dialogowych # ------------------------------------------ #
|
# ----------------------------------------- # 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]
|
E003x01 = ["Nie podano lokalizacji plików do importu. (E003x01)", False]
|
||||||
E003x02 = ["Nie podano lokalizacji zapisu wygenerowanych plików. (E003x02)", False]
|
E003x02 = ["Nie podano lokalizacji zapisu wygenerowanych plików. (E003x02)", False]
|
||||||
|
|
||||||
@@ -61,24 +60,31 @@ import sys as SS
|
|||||||
try:
|
try:
|
||||||
import dialog as MDdlg
|
import dialog as MDdlg
|
||||||
except ModuleNotFoundError:
|
except ModuleNotFoundError:
|
||||||
print('Nieoczekiwany wyjatek - nie mozna wygenerowac okna dialogowego bledu\n\nBŁĄD KRYTYCZNY!\n%s') %E000x01
|
print('Nie znaleziono modułu programu (dialog.py)\nNie można załadować programu\nKod błędu: E00x0001')
|
||||||
wait = input('Naciśnij ENTER aby zakończyć')
|
wait = input('Naciśnij ENTER aby wyjść')
|
||||||
SS.exit(0)
|
SS.exit(0)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
import load_config as MDlcg
|
import load_config as MDlcg
|
||||||
except ModuleNotFoundError:
|
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:
|
try:
|
||||||
import format as MDfmt
|
import load_format as MDlfm
|
||||||
except ModuleNotFoundError:
|
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:
|
try:
|
||||||
import processing as MDprc
|
import processing as MDprc
|
||||||
except ModuleNotFoundError:
|
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
|
# Biblioteki zewnętrzne interfejsu graficznego
|
||||||
@@ -93,7 +99,7 @@ import tkinter as TK
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#TODO
|
||||||
# ------------------------------------- # Uruchomienie interfejsu graficznego # -------------------------------------- #
|
# ------------------------------------- # Uruchomienie interfejsu graficznego # -------------------------------------- #
|
||||||
|
|
||||||
# Zmienne globalne środowiska graficznego
|
# Zmienne globalne środowiska graficznego
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
#TODO
|
||||||
import dataprocess as MDdtp
|
import dataprocess as MDdtp
|
||||||
import load_config as MDlcg
|
import load_config as MDlcg
|
||||||
import dialog as MDdlg
|
import dialog as MDdlg
|
||||||
|
|||||||
0
format.fmt
Normal file
0
format.fmt
Normal file
40
generator.py
40
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 # ----------------------------------------- #
|
# ----------------------------------------- # Uruchomienie głównego modułu # ----------------------------------------- #
|
||||||
|
|
||||||
try:
|
try:
|
||||||
fck = open("components/main.py")
|
fck = open("components/main.py")
|
||||||
except:
|
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:
|
else:
|
||||||
OS.system("components\main.py")
|
import os
|
||||||
|
os.system("components\main.py")
|
||||||
Reference in New Issue
Block a user