Test auf invalid Characters implementiert. ERP_Item.ini rausgeschmissen. Sonderzeichen im Configparser nicht einfach zu lesen. FileEncoding war auch nicht utf-8. Eigene Textdatei für Sonderzeichen

This commit is contained in:
2024-03-13 11:44:12 +01:00
parent 1e917e5bbd
commit 8f74aac945
6 changed files with 163 additions and 127 deletions
+24 -17
View File
@@ -13,7 +13,7 @@ messages = {
"beschaffungsart_infos": ' Komponenten der Schweißbaugruppe müssen eigene Teilenummern erhalten, falls diese aktuell als Underline-Nummern in der Creo-Baugruppe vorliegen, aber keine eigenen Teilenummern in SIVAS besitzen!',
"mengeneinheit_infos":'Bitte prüfen, ob Mengeneinheit ≠ "M - Meter" korrekt ist!',
"material_infos":'Werkstoffvorschlag nicht möglich, da das Material nicht in der Mappingdatei "Materialübersetzung.json" enthalten ist.\nBitte Werkstoff in dieser Datei nachfpflegen und prüfen, ob der Werkstoff in den nachfolgenden Systemen vorhanden ist:\n- RuleDesigner\n- SIVAS-Produktiv- und Schulungsdatenbank\n- Solid Edge\nWenn nicht, bitte in diesen Systemen ebenfalls nachpflegen!',
"unzulaessige_zeichen":'Unzulässige Zeichen identifiziert:\nZeichen: {Zeichentyp} -> Feld: {Feldname}',
"unzulaessige_zeichen":"Unzulässige Zeichen identifiziert:\nZeichen: '{Zeichentyp}' -> Feld: '{Feldname}'",
"bezeichnung_zu_gross":'Bezeichnung besitzt mehr als 50 Zeichen. Bitte verkürzen!',
"konflikt_ruestcode_saegeliste":'In Sivas prüfen, wieso Haken bei "Halbzeug ohne Sägeliste" trotz Rüstcode "SRC Standard Rüstcode" gesetzt ist.',
"teilenummre_ohne_ruestcode":'Teilenummer darf nicht ohne Rüstcode migriert werden!',
@@ -61,6 +61,7 @@ class Controller(Observer):
"""
def __init__(self, model, view):
self._environment = None
self._config = None
self.set_model(model)
self.set_view(view)
@@ -82,6 +83,9 @@ class Controller(Observer):
raise Exception("this path is not defined "+env_path)
return ret
def set_config(self, config):
self._config = config
def get_csv_files_of_asm(self, asmid, uselocal):
""" sich die Einzelteile als .csv und den Aufbau des Assemblies als .json holen """
@@ -213,9 +217,7 @@ class Controller(Observer):
if 'Labels' in values:
text = text.format(Labels=values['Labels'])
if 'Zeichentyp' in values:
text = text.format(Zeichentyp=values['Zeichentyp'])
if 'Feldname' in values:
text = text.format(Feldname=values['Feldname'])
text = text.format(Zeichentyp=values['Zeichentyp'], Feldname=values['Feldname'] )
return messagebox.showerror(title, text)
def callback(self, key, value):
@@ -256,24 +258,29 @@ class Controller(Observer):
self.refresh_gui()
def migrieren(self):
(ok, missing) = self._model.check()
(ok, missing) = self._model.check_pflichtfelder()
if ok == False:
labels = ', '.join(missing)
self.message_error('Fehlende Angaben', 'missing_data', {'Labels':labels})
return
invalid_chars = self._config.InvalidChars.get()
(ok, wrongchars) = self._model.check_improper_chars(invalid_chars)
if ok == False:
for label,achars in wrongchars.items():
chars = ''.join(achars)
self.message_error('Unzulässige Zeichen', 'unzulaessige_zeichen', {'Zeichentyp': chars, 'Feldname':label})
return
def zuruecksetzen(self):
data = dict()
data['halbzeugnummer_neu'] = {'background':'red', 'foreground':'white'}
self._view.configure(data)
# cid = self.get_current_item_id()
# self._model.clear()
# self._view.clear_rightframes()
# csv_data = self._model.sivas_data_from_csv(str(cid))
# # transform the csv keys into keys used behind the gui
# gui_data = self._model.csv2guidata(csv_data)
# self.set_gui_dict(gui_data)
# # create dropdown and other defaults
# self._model.set_gui_defaults()
cid = self.get_current_item_id()
self._model.clear()
self._view.clear_rightframes()
csv_data = self._model.sivas_data_from_csv(str(cid))
# transform the csv keys into keys used behind the gui
gui_data = self._model.csv2guidata(csv_data)
self.set_gui_dict(gui_data)
# create dropdown and other defaults
self._model.set_gui_defaults()
def suche_3d(self):
pdm_kategorie_neu = self._model.get_gui_data("pdm_kategorie_neu")