From 99971464dbe6b6a149c1fd1bd5033f9108e28230 Mon Sep 17 00:00:00 2001 From: "m.stangl" Date: Thu, 7 Apr 2022 20:32:03 +0200 Subject: [PATCH] =?UTF-8?q?Bindestriche=20aus=20Keys=20entfernt(f=C3=BCr?= =?UTF-8?q?=20TOS).=20ein=20paar=20Methoden=20dazu=20gebaut?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rieter_ekalk.py | 315 +++++++++++++++++++++++------------------------- 1 file changed, 148 insertions(+), 167 deletions(-) diff --git a/rieter_ekalk.py b/rieter_ekalk.py index 98d7c6d..bfcde2c 100644 --- a/rieter_ekalk.py +++ b/rieter_ekalk.py @@ -65,9 +65,9 @@ class MG(): system = deckblatt.get("SYSTEM", "") self._rsm_direct = RSM_direct({}) self._rsm_fa = RSM_FA({}) - if(system.lower() == "direct"): + if (system.lower() == "direct"): self._rsm_direct = RSM_direct(rsm_direct_mengen) - elif(system.lower() == "fa"): + elif (system.lower() == "fa"): self._rsm_fa = RSM_FA(rsm_fa_mengen) self._flyer_f40 = Flyer_F40_EJet_inc_Putz(flyer_f40_mengen) @@ -78,29 +78,8 @@ class MG(): self._turm = Turm(turm_mengen) - def get_deckblatt(self, key): - # deckblatt_eingabe = { - # "SYSTEM":"", - # "RSM":13, - # "Flyer":7, - # "Flyer_Puffer":13, - # "Flyer_Electrojet_incl_intergrierte_Putzmaschine":4, - # "Flyer_Electrojet_incl_intergrierte_Putzmaschine_Vorpuffer":2, - # "Flyer_Electrojet_incl_intergrierte_Putzmaschine_Nachpuffer":3, - # "Neuenhauser-Putzmaschine":11, - # "Neuenhauser-Putzmaschine_Vorpuffer":12, - # "Neuenhauser-Putzmaschine_Nachpuffer":14, - # "Cason-Putzmaschine":0, - # "Cason-Putzmaschine_Vorpuffer":0, - # "Cason-Putzmaschine_Nachpuffer":0, - # "Puffer":5, - # "Anzahl_der_Pufferstrecken_pro_Puffer":11, - # "Begegnungsstrecke_Bypass":0, - # "Turm":2, - # "Turm_Anzahl_Wendlungen":5, - # } - pass - + def get_deckblatt_value(self, key): + return self._deckblatt.get(key, 0) def getresult(self): res = { @@ -136,9 +115,9 @@ class MG(): "Sensor_Spulenprüfung_voll/leer": 0, "Seilzugsschalter": 0, "Drucktaster_automatische_Umfahrung": 0, - "Bedientableau_1-fach": 0, - "Bedientableau_2-fach": 0, - "Bedientableau_14-fach": 0, + "Bedientableau_1fach": 0, + "Bedientableau_2fach": 0, + "Bedientableau_14fach": 0, "Interface_Putzmaschine": 0, "Interface_Doffer": 0, "Weiche": 0, @@ -178,15 +157,15 @@ class MG(): zmengen["Sensor_Spulenprüfung_voll/leer"] = self._neuenhauser._Mengen.get("Sensor_WT18_Spulenprüfung_voll/leer",0) zmengen["Seilzugsschalter"] = self._rsm_fa._Mengen.get("Seilzugsschalter", 0) zmengen["Drucktaster_automatische_Umfahrung"] = self._rsm_fa._Mengen.get("Mit_Drucktaster", 0) - zmengen["Bedientableau_1-fach"] = self._rsm_fa._Mengen.get("Bedientableau_1-fach", 0) + self._verbindungsstrecken_w._Mengen.get("Bedientableau_1-fach", 0) - zmengen["Bedientableau_2-fach"] = self._rsm_direct._Mengen.get("Bedientableau_2-fach", 0) +\ - self._rsm_fa._Mengen.get("Bedientableau_2-fach", 0) +\ - self._flyer_f40._Mengen.get("Bedientableau_2-fach", 0) +\ - self._neuenhauser._Mengen.get("Bedientableau_2-fach", 0) +\ - self._flyer._Mengen.get("Bedientableau_2-fach", 0) +\ - self._verbindungsstrecken_w._Mengen.get("Bedientableau_2-fach", 0) +\ - self._turm._Mengen.get("Bedientableau_2-fach", 0) - zmengen["Bedientableau_14-fach"] = self._verbindungsstrecken_w._Mengen.get("Bedientableau_14-fach", 0) + zmengen["Bedientableau_1fach"] = self._rsm_fa._Mengen.get("Bedientableau_1fach", 0) + self._verbindungsstrecken_w._Mengen.get("Bedientableau_1fach", 0) + zmengen["Bedientableau_2fach"] = self._rsm_direct._Mengen.get("Bedientableau_2fach", 0) +\ + self._rsm_fa._Mengen.get("Bedientableau_2fach", 0) +\ + self._flyer_f40._Mengen.get("Bedientableau_2fach", 0) +\ + self._neuenhauser._Mengen.get("Bedientableau_2fach", 0) +\ + self._flyer._Mengen.get("Bedientableau_2fach", 0) +\ + self._verbindungsstrecken_w._Mengen.get("Bedientableau_2fach", 0) +\ + self._turm._Mengen.get("Bedientableau_2fach", 0) + zmengen["Bedientableau_14fach"] = self._verbindungsstrecken_w._Mengen.get("Bedientableau_14fach", 0) zmengen["Interface_Putzmaschine"] = self._neuenhauser._Mengen.get("Interface_Putzmaschine", 0) zmengen["Interface_Doffer"] = self._flyer_f40._Mengen.get("Interface_Doffer", 0) + self._flyer._Mengen.get("Interface_Doffer", 0) zmengen["Weiche"] = self._rsm_direct._Mengen.get("Weiche", 0) +\ @@ -271,9 +250,9 @@ class RSM_direct(): #"Anzahl_Strecken/RSM":8, "Sensor_optisch_Traverse":0, #"Lichtschranke_Traverse":0, - #"Bedientableau_2-fach":0, - "Bedientableau_2-fach_Korrektur":0, - #"Bedientableau_2-fach_Direct":0, + #"Bedientableau_2fach":0, + "Bedientableau_2fach_Korrektur":0, + #"Bedientableau_2fach_Direct":0, #"Weiche":0, "Weiche_Korrektur":0, #"Weiche_Gemeinsame_Rückstellung":0, @@ -297,9 +276,9 @@ class RSM_direct(): self._Mengen["Anzahl_Strecken/RSM"] = 8 self._Mengen["Sensor_optisch_Traverse"] = anzahl.get("Sensor_optisch_Traverse", 0) self._Mengen["Lichtschranke_Traverse"] = self._RSM_Anzahl * 6 - self._Mengen["Bedientableau_2-fach"] = math.ceil(self._RSM_Anzahl/10) + anzahl.get("Bedientableau_2-fach_Korrektur", 0) - self._Mengen["Bedientableau_2-fach_Korrektur"] = anzahl.get("Bedientableau_2-fach_Korrektur", 0) - self._Mengen["Bedientableau_2-fach_Direct"] = self._RSM_Anzahl + self._Mengen["Bedientableau_2fach"] = math.ceil(self._RSM_Anzahl/10) + anzahl.get("Bedientableau_2fach_Korrektur", 0) + self._Mengen["Bedientableau_2fach_Korrektur"] = anzahl.get("Bedientableau_2fach_Korrektur", 0) + self._Mengen["Bedientableau_2fach_Direct"] = self._RSM_Anzahl self._Mengen["Weiche"] = self._RSM_Anzahl * 4 + anzahl.get("Weiche_Korrektur", 0) self._Mengen["Weiche_Gemeinsame_Rückstellung"] = math.ceil(self._RSM_Anzahl/10) + anzahl.get("Weiche_Gemeinsame_Rückstellung_Korrektur", 0) self._Mengen["Weiche_Gemeinsame_Rückstellung_Korrektur"] = anzahl.get("Weiche_Gemeinsame_Rückstellung_Korrektur", 0) @@ -328,16 +307,16 @@ class RSM_FA(): mengen = { #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet "Anzahl_RSM":0, - #"Automatische_Umfahrung":0, # 'Automatische_Umfahrung' und 'Flex-A_Premium' sind eine Zelle -> identischer Wert - "Flex-A_Premium":False, + #"Automatische_Umfahrung":0, # 'Automatische_Umfahrung' und 'Flex_A_Premium' sind eine Zelle -> identischer Wert + "Flex_A_Premium":False, "Getriebe_in_der_Mitte":False, - "RSM-Einfahrt_Ein-/Beidseitig":False, + "RSM_Einfahrt_Ein_Beidseitig":False, #"Sensor_optisch_Traverse":0, "Sensor_optisch_Traverse_zusätzlich":0, - #"Bedientableau_1-fach":0, - "Bedientableau_1-fach_Korrektur":0, - #"Bedientableau_2-fach":0, - "Bedientableau_2-fach_Korrektur":0, + #"Bedientableau_1fach":0, + "Bedientableau_1fach_Korrektur":0, + #"Bedientableau_2fach":0, + "Bedientableau_2fach_Korrektur":0, #"Weiche":0, "Weiche_Korrektur":0, #"RRA_bi":0, @@ -357,15 +336,15 @@ class RSM_FA(): self._Mengen = {} self._RSM_Anzahl = anzahl.get("Anzahl_RSM", 0) self._Mengen["Anzahl_RSM"] = self._RSM_Anzahl - self._Mengen["Flex-A_Premium"] = anzahl.get("Flex-A_Premium", False) + self._Mengen["Flex_A_Premium"] = anzahl.get("Flex_A_Premium", False) self._Mengen["Getriebe_in_der_Mitte"] = anzahl.get("Getriebe_in_der_Mitte", False) - self._Mengen["RSM-Einfahrt_Ein-/Beidseitig"] = anzahl.get("RSM-Einfahrt_Ein-/Beidseitig", False) + self._Mengen["RSM_Einfahrt_Ein_Beidseitig"] = anzahl.get("RSM_Einfahrt_Ein_Beidseitig", False) sensorfaktor_premium = 1 sensorfaktor_beidseitig = 0 - if(anzahl.get("Flex-A_Premium", False)): + if self.flex_a_premium(): sensorfaktor_premium = 4 - if(anzahl.get("RSM-Einfahrt_Ein-/Beidseitig", False)): + if (anzahl.get("RSM_Einfahrt_Ein_Beidseitig", False)): sensorfaktor_beidseitig = 1 self._Mengen["Sensor_optisch_Traverse"] = self._RSM_Anzahl*(sensorfaktor_premium + sensorfaktor_beidseitig) + anzahl.get("Sensor_optisch_Traverse_zusätzlich", 0) self._Mengen["Sensor_optisch_Traverse_zusätzlich"] = anzahl.get("Sensor_optisch_Traverse_zusätzlich", 0) @@ -373,35 +352,35 @@ class RSM_FA(): tableaufaktor_premium = 1 tableaufaktor_beidseitig = 0 - if(anzahl.get("Flex-A_Premium", False)): + if self.flex_a_premium(): tableaufaktor_premium = 0 - if(anzahl.get("RSM-Einfahrt_Ein-/Beidseitig", False)): + if (anzahl.get("RSM_Einfahrt_Ein_Beidseitig", False)): tableaufaktor_beidseitig = 1 - self._Mengen["Bedientableau_1-fach"] = self._RSM_Anzahl*(tableaufaktor_premium + tableaufaktor_beidseitig) + anzahl.get("Bedientableau_1-fach_Korrektur", 0) - self._Mengen["Bedientableau_1-fach_Korrektur"] = anzahl.get("Bedientableau_1-fach_Korrektur", 0) - self._Mengen["Bedientableau_2-fach"] = math.ceil(self._RSM_Anzahl/10) + anzahl.get("Bedientableau_2-fach_Korrektur", 0) - self._Mengen["Bedientableau_2-fach_Korrektur"] = anzahl.get("Bedientableau_2-fach_Korrektur", 0) + self._Mengen["Bedientableau_1fach"] = self._RSM_Anzahl*(tableaufaktor_premium + tableaufaktor_beidseitig) + anzahl.get("Bedientableau_1fach_Korrektur", 0) + self._Mengen["Bedientableau_1fach_Korrektur"] = anzahl.get("Bedientableau_1fach_Korrektur", 0) + self._Mengen["Bedientableau_2fach"] = math.ceil(self._RSM_Anzahl/10) + anzahl.get("Bedientableau_2fach_Korrektur", 0) + self._Mengen["Bedientableau_2fach_Korrektur"] = anzahl.get("Bedientableau_2fach_Korrektur", 0) weichefaktor_premium = 1 weichefaktor_beidseitig = 0 - if(anzahl.get("Flex-A_Premium", False)): + if self.flex_a_premium(): weichefaktor_premium = 3 - if(anzahl.get("RSM-Einfahrt_Ein-/Beidseitig", False)): + if (anzahl.get("RSM_Einfahrt_Ein_Beidseitig", False)): weichefaktor_beidseitig = 1 self._Mengen["Weiche"] = self._RSM_Anzahl * (weichefaktor_premium + weichefaktor_beidseitig) + anzahl.get("Weiche_Korrektur", 0) self._Mengen["Weiche_Korrektur"] = anzahl.get("Weiche_Korrektur", 0) rrafaktor_premium = 1 rrafaktor_beidseitig = 0 - if(anzahl.get("Flex-A_Premium", False)): + if self.flex_a_premium(): rrafaktor_premium = 2 - if(anzahl.get("RSM-Einfahrt_Ein-/Beidseitig", False)): + if (anzahl.get("RSM_Einfahrt_Ein_Beidseitig", False)): rrafaktor_beidseitig = 1 self._Mengen["RRA_bi"] = self._RSM_Anzahl * (rrafaktor_premium + rrafaktor_beidseitig) + anzahl.get("RRA_bi_auf_Haupstrecke", 0) + anzahl.get("RRA_bi_Korrektur", 0) self._Mengen["RRA_bi_Korrektur"] = anzahl.get("RRA_bi_Korrektur", 0) self._Mengen["RRA_bi_auf_Haupstrecke"] = anzahl.get("RRA_bi_auf_Haupstrecke", 0) - if(anzahl.get("Flex-A_Premium", False)): + if self.flex_a_premium(): self._Mengen["RRA_bi_ohne_SPS-Ansteuerung"] = self._RSM_Anzahl * 4 else: self._Mengen["RRA_bi_ohne_SPS-Ansteuerung"] = 0 @@ -410,13 +389,13 @@ class RSM_FA(): seilzfaktor_premium = 0 seilzfaktor_getriebe_mitte = 0 - if(anzahl.get("Flex-A_Premium", False)): + if self.flex_a_premium(): seilzfaktor_premium = 2 - if(anzahl.get("Getriebe_in_der_Mitte", False)): + if (anzahl.get("Getriebe_in_der_Mitte", False)): seilzfaktor_getriebe_mitte = 2 self._Mengen["Seilzugschalter"] = self._RSM_Anzahl * (seilzfaktor_premium + seilzfaktor_getriebe_mitte) - if(anzahl.get("Flex-A_Premium", False)): + if self.flex_a_premium(): self._Mengen["Mit_Drucktaster"] = self._RSM_Anzahl * 8 else: self._Mengen["Mit_Drucktaster"] = 0 @@ -428,6 +407,9 @@ class RSM_FA(): self._Mengen["Werma_Rundumleuchte_Störung"] = math.ceil(self._RSM_Anzahl/10) + anzahl.get("Werma_Rundumleuchte_Störung_Korrektur", 0) self._Mengen["Werma_Rundumleuchte_Störung_Korrektur"] = anzahl.get("Werma_Rundumleuchte_Störung_Korrektur", 0) + def flex_a_premium(self): + return self._Mengen.get("Flex_A_Premium", False) + def anzahl(self, partname): return self._Mengen.get(partname, 0) @@ -453,8 +435,8 @@ class Flyer_F40_EJet_inc_Putz(): "Sensor_optisch_Traverse_Korrektur":0, #"Sensor_induktiv_Spulenhalter":0, "Sensor_induktiv_Spulenhalter_Korrektur":0, - #"Bedientableau_2-fach":0, - "Bedientableau_2-fach_Korrektur":0, + #"Bedientableau_2fach":0, + "Bedientableau_2fach_Korrektur":0, #"Interface_Doffer":0, "Interface_Doffer_Korrektur":0, #"Weiche":0, @@ -499,20 +481,20 @@ class Flyer_F40_EJet_inc_Putz(): self._Mengen["Single-Line_/_Durchfahrt"] = anzahl.get("Single-Line_/_Durchfahrt", False) self._Mengen["Nachpuffer"] = anzahl.get("Nachpuffer", False) sensorfaktor_nachpuffer = 7 - if(anzahl.get("Nachpuffer", False)): + if (anzahl.get("Nachpuffer", False)): sensorfaktor_nachpuffer = 5 self._Mengen["Sensor_optisch_Traverse"] = self._Flyer_Anzahl * (self._Mengen.get("Anzahl_Schienen", 0) + sensorfaktor_nachpuffer) + anzahl.get("Dreifachweiche", 0) * 2 + anzahl.get("Sensor_optisch_Traverse_Korrektur", 0) self._Mengen["Sensor_optisch_Traverse_Korrektur"] = anzahl.get("Sensor_optisch_Traverse_Korrektur", 0) self._Mengen["Sensor_induktiv_Spulenhalter"] = self._Flyer_Anzahl * 2 + anzahl.get("Sensor_induktiv_Spulenhalter_Korrektur", 0) self._Mengen["Sensor_induktiv_Spulenhalter_Korrektur"] = anzahl.get("Sensor_induktiv_Spulenhalter_Korrektur", 0) - self._Mengen["Bedientableau_2-fach"] = self._Flyer_Anzahl + anzahl.get("Bedientableau_2-fach_Korrektur", 0) - self._Mengen["Bedientableau_2-fach_Korrektur"] = anzahl.get("Bedientableau_2-fach_Korrektur", 0) + self._Mengen["Bedientableau_2fach"] = self._Flyer_Anzahl + anzahl.get("Bedientableau_2fach_Korrektur", 0) + self._Mengen["Bedientableau_2fach_Korrektur"] = anzahl.get("Bedientableau_2fach_Korrektur", 0) self._Mengen["Interface_Doffer"] = self._Flyer_Anzahl + anzahl.get("Interface_Doffer_Korrektur", 0) self._Mengen["Interface_Doffer_Korrektur"] = anzahl.get("Interface_Doffer_Korrektur", 0) self._Mengen["Weiche"] = self._Flyer_Anzahl * self._Mengen.get("Anzahl_Schienen", 0) + anzahl.get("Weiche_Korrektur", 0) + anzahl.get("Wechsel", 0) self._Mengen["Weiche_Korrektur"] = anzahl.get("Weiche_Korrektur", 0) - if(anzahl.get("Single-Line_/_Durchfahrt", False)): + if (anzahl.get("Single-Line_/_Durchfahrt", False)): self._Mengen["Weiche_nach_Flyer_(bipolar)"] = self._Flyer_Anzahl + anzahl.get("Weiche_nach_Flyer_(bipolar)_Korrektur", 0) else: self._Mengen["Weiche_nach_Flyer_(bipolar)"] = anzahl.get("Weiche_nach_Flyer_(bipolar)_Korrektur", 0) @@ -524,20 +506,20 @@ class Flyer_F40_EJet_inc_Putz(): rraunifaktor_durchfahrt = 0 rraunifaktor_nachpuffer = 1 - if(anzahl.get("Single-Line_/_Durchfahrt", False)): + if (anzahl.get("Single-Line_/_Durchfahrt", False)): rraunifaktor_durchfahrt = 1 - if(anzahl.get("Nachpuffer", False)): + if (anzahl.get("Nachpuffer", False)): rraunifaktor_nachpuffer = 0 self._Mengen["RA_uni_abhebbar"] = self._Flyer_Anzahl * (rraunifaktor_durchfahrt + rraunifaktor_nachpuffer) + anzahl.get("RA_uni_abhebbar_Korrektur", 0) self._Mengen["RA_uni_abhebbar_Korrektur"] = anzahl.get("RA_uni_abhebbar_Korrektur", 0) - if(anzahl.get("Single-Line_/_Durchfahrt", False)): + if (anzahl.get("Single-Line_/_Durchfahrt", False)): self._Mengen["RA_uni_ohne_SPS-Ansteuerung"] = self._Flyer_Anzahl else: self._Mengen["RA_uni_ohne_SPS-Ansteuerung"] = anzahl.get("RA_uni_ohne_SPS-Ansteuerung_Korrektur", 0) self._Mengen["RA_uni_ohne_SPS-Ansteuerung_Korrektur"] = anzahl.get("RA_uni_ohne_SPS-Ansteuerung_Korrektur", 0) - if(anzahl.get("Single-Line_/_Durchfahrt", False)): + if (anzahl.get("Single-Line_/_Durchfahrt", False)): self._Mengen["RRA_BI_abhebbar"] = self._Flyer_Anzahl else: self._Mengen["RRA_BI_abhebbar"] = anzahl.get("RRA_BI_abhebbar_Korrektur", 0) @@ -545,12 +527,12 @@ class Flyer_F40_EJet_inc_Putz(): self._Mengen["RRA_bi"] = anzahl.get("RRA_bi", 0) - if(anzahl.get("Single-Line_/_Durchfahrt", False)): + if (anzahl.get("Single-Line_/_Durchfahrt", False)): self._Mengen["RRA_bi_ohne_SPS-Ansteuerung"] = anzahl.get("RRA_bi_ohne_SPS-Ansteuerung_Korrektur", 0) else: self._Mengen["RRA_bi_ohne_SPS-Ansteuerung"] = self._Flyer_Anzahl - if(anzahl.get("Single-Line_/_Durchfahrt", False)): + if (anzahl.get("Single-Line_/_Durchfahrt", False)): self._Mengen["Doppelstreckenantrieb"] = self._Flyer_Anzahl * math.floor(self._Mengen.get("Anzahl_Schienen", 0)/2) + self._Flyer_Anzahl else: self._Mengen["Doppelstreckenantrieb"] = self._Flyer_Anzahl * math.floor(self._Mengen.get("Anzahl_Schienen", 0)/2) + anzahl.get("Doppelstreckenantrieb_Korrektur", 0) @@ -587,8 +569,8 @@ class Putzmaschine_Neuenhauser(): "Sensor_optisch_Traverse_Korrektur":0, #"Sensorik_Zugpositionierung":0, #"Sensor_WT18_Spulenprüfung_voll/leer":0, - #"Bedientableau_2-fach":0, - "Bedientableau_2-fach_Korrektur":0, + #"Bedientableau_2fach":0, + "Bedientableau_2fach_Korrektur":0, #"Interface_Putzmaschine":0, #"Weiche":0, "Weiche_Korrektur":0, @@ -624,8 +606,8 @@ class Putzmaschine_Neuenhauser(): self._Mengen["Sensorik_Zugpositionierung"] = self._Putze_Anzahl * 4 self._Mengen["Sensor_WT18_Spulenprüfung_voll/leer"] = self._Putze_Anzahl * 2 - self._Mengen["Bedientableau_2-fach"] = self._Putze_Anzahl + anzahl.get("Bedientableau_2-fach_Korrektur", 0) - self._Mengen["Bedientableau_2-fach_Korrektur"] = anzahl.get("Bedientableau_2-fach_Korrektur", 0) + self._Mengen["Bedientableau_2fach"] = self._Putze_Anzahl + anzahl.get("Bedientableau_2fach_Korrektur", 0) + self._Mengen["Bedientableau_2fach_Korrektur"] = anzahl.get("Bedientableau_2fach_Korrektur", 0) self._Mengen["Interface_Putzmaschine"] = self._Putze_Anzahl self._Mengen["Weiche"] = self._Putze_Anzahl * self._Vorpuffer_Anzahl + anzahl.get("Weiche_Korrektur", 0) @@ -663,7 +645,7 @@ class Flyer_EJet(): #"Sensor_optisch_Traverse":0, "Sensor_optisch_Traverse_Korrektur":0, #"Sensor_induktiv_Spulenalter_(Zug_positionierung)":0, - #"Bedientableau_2-fach":0, + #"Bedientableau_2fach":0, #"Interface_Doffer":0, #"Weiche":0, "Weiche_Korrektur":0, @@ -695,7 +677,7 @@ class Flyer_EJet(): self._Mengen["Sensor_optisch_Traverse"] = self._Flyer_Anzahl * (2*self._Schienen_Anzahl + 3) + anzahl.get("Sensor_optisch_Traverse_Korrektur", 0) self._Mengen["Sensor_optisch_Traverse_Korrektur"] = anzahl.get("Sensor_optisch_Traverse_Korrektur", 0) self._Mengen["Sensor_induktiv_Spulenalter_(Zug_positionierung)"] = self._Flyer_Anzahl - self._Mengen["Bedientableau_2-fach"] = self._Flyer_Anzahl + self._Mengen["Bedientableau_2fach"] = self._Flyer_Anzahl self._Mengen["Interface_Doffer"] = self._Flyer_Anzahl self._Mengen["Weiche"] = self._Flyer_Anzahl * self._Schienen_Anzahl + anzahl.get("Weiche_Korrektur", 0) self._Mengen["Weiche_Korrektur"] = anzahl.get("Weiche_Korrektur", 0) @@ -729,9 +711,9 @@ class Verbindungsstrecken_Wechsel(): mengen = { #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet "Sensor_optisch_Traverse":0, - "Bedientableau_1-fach":0, - "Bedientableau_2-fach":0, - "Bedientableau_14-fach":0, + "Bedientableau_1fach":0, + "Bedientableau_2fach":0, + "Bedientableau_14fach":0, "Weiche":0, "Dreifachweiche":0, "Kreuzungsweiche":0, @@ -744,9 +726,9 @@ class Verbindungsstrecken_Wechsel(): } self._Mengen = {} self._Mengen["Sensor_optisch_Traverse"] = anzahl.get("Sensor_optisch_Traverse", 0) - self._Mengen["Bedientableau_1-fach"] = anzahl.get("Bedientableau_1-fach", 0) - self._Mengen["Bedientableau_2-fach"] = anzahl.get("Bedientableau_2-fach", 0) - self._Mengen["Bedientableau_14-fach"] = anzahl.get("Bedientableau_14-fach", 0) + self._Mengen["Bedientableau_1fach"] = anzahl.get("Bedientableau_1fach", 0) + self._Mengen["Bedientableau_2fach"] = anzahl.get("Bedientableau_2fach", 0) + self._Mengen["Bedientableau_14fach"] = anzahl.get("Bedientableau_14fach", 0) self._Mengen["Weiche"] = anzahl.get("Weiche", 0) self._Mengen["Dreifachweiche"] = anzahl.get("Dreifachweiche", 0) self._Mengen["Kreuzungsweiche"] = anzahl.get("Kreuzungsweiche", 0) @@ -822,7 +804,7 @@ class Turm(): "RA_bi_Korrektur":0, #"RA_bi_ohne_SPS":0, "RA_bi_ohne_SPS_Korrektur":0, - #"Bedientableau_2-fach":0, + #"Bedientableau_2fach":0, } def __init__(self, anzahl:dict): self._Mengen = {} @@ -837,7 +819,7 @@ class Turm(): self._Mengen["RA_bi_Korrektur"] = anzahl.get("RA_bi_Korrektur", 0) self._Mengen["RA_bi_ohne_SPS"] = self._Turm_Anzahl*self._Staustrecken_Anzahl*2 + anzahl.get("RA_bi_ohne_SPS_Korrektur", 0) self._Mengen["RA_bi_ohne_SPS_Korrektur"] = anzahl.get("RA_bi_ohne_SPS_Korrektur", 0) - self._Mengen["Bedientableau_2-fach"] = self._Turm_Anzahl*2 + self._Mengen["Bedientableau_2fach"] = self._Turm_Anzahl*2 def anzahl(self, partname): return self._Mengen.get(partname, 0) @@ -1324,37 +1306,36 @@ class HW(): self._anzahl["anlagenrechner"] = anzahl.get("anlagenrechner", 0) self._anzahl["zusaetzlicher_bildschirm"] = anzahl.get("zusaetzlicher_bildschirm", 0) # end Violett - #self._anzahl["unterverteiler_fuer_1neuenhauser_pm"] = mg.("", 0) - #self._anzahl[""] = anzahl.get("", 0) + self._anzahl["unterverteiler_fuer_1neuenhauser_pm"] = mg.get_deckblatt_value("RSM") + + self._anzahl["unterverteiler_fuer_1flyer"] = anzahl.get("unterverteiler_fuer_1flyer", 0) + self._anzahl["unterverteiler_fuer_2flyer"] = anzahl.get("unterverteiler_fuer_2flyer", 0) + self._anzahl["unterverteiler_fuer_1flyer_f40_mit_integrierter_putzmaschine"] = anzahl.get("unterverteiler_fuer_1flyer_f40_mit_integrierter_putzmaschine", 0) + self._anzahl["unterverteiler_fuer_2flyer_f40_mit_integrierter_putzmaschine"] = anzahl.get("unterverteiler_fuer_2flyer_f40_mit_integrierter_putzmaschine", 0) + self._anzahl["unterverteiler_fuer_puffer"] = anzahl.get("unterverteiler_fuer_puffer", 0) - # "unterverteiler_fuer_1neuenhauser_pm":0, - # "unterverteiler_fuer_1flyer":0, - # "unterverteiler_fuer_2flyer":0, - # "unterverteiler_fuer_1flyer_f40_mit_integrierter_putzmaschine":0, - # "unterverteiler_fuer_2flyer_f40_mit_integrierter_putzmaschine":0, - # "unterverteiler_fuer_puffer":0, - - # "unterverteiler_fuer_5_rsm_fa":0, - # "korrektur_1_rsm_zusaetzlich_im_unterverteiler":0, + # self._anzahl[] = anzahl.get(, 0) + # "unterverteiler_fuer_5_rsm_fa" + # "korrektur_1_rsm_zusaetzlich_im_unterverteiler" - # "unterverteiler_fuer_10_rsm_fa":0, + # "unterverteiler_fuer_10_rsm_fa" - # "unterverteiler_fuer_3_rsm_fa_mit_umfahrung_steckbar":0, - # "korrektur_3_rsm_zusaetzlich_im_unterverteiler":0, + # "unterverteiler_fuer_3_rsm_fa_mit_umfahrung_steckbar" + # "korrektur_3_rsm_zusaetzlich_im_unterverteiler" - # "unterverteiler_fuer_4_rsm_direct":0, - # "korrektur_4_rsm_zusaetzlich_im_unterverteiler":0, + # "unterverteiler_fuer_4_rsm_direct" + # "korrektur_4_rsm_zusaetzlich_im_unterverteiler" - # "unterverteiler_fuer_12_rsm_direct":0, - # "korrektur_12_rsm_zusaetzlich_im_unterverteiler":0, - # "unterverteiler_fuer_8_rsm_direct":0, - # "korrektur_8_rsm_zusaetzlich_im_unterverteiler":0, + # "unterverteiler_fuer_12_rsm_direct" + # "korrektur_12_rsm_zusaetzlich_im_unterverteiler" + # "unterverteiler_fuer_8_rsm_direct" + # "korrektur_8_rsm_zusaetzlich_im_unterverteiler" - # "busverteiler_6_rsm_direct":0, - # "korrektur_6_rsm_zusaetzlich_im_unterverteiler":0, + # "busverteiler_6_rsm_direct" + # "korrektur_6_rsm_zusaetzlich_im_unterverteiler" - # "busverteiler_8_rsm_direct":0, - # "korrektur_8_rsm_zusaetzlich_im_unterverteiler":0, + # "busverteiler_8_rsm_direct" + # "korrektur_8_rsm_zusaetzlich_im_unterverteiler" @@ -1780,7 +1761,7 @@ def test_deckblatt_neuenhauser(self, deckblatt:MG): self.assertEqual(deckblatt._neuenhauser.anzahl("Sensor_optisch_Traverse"), 319) self.assertEqual(deckblatt._neuenhauser.anzahl("Sensorik_Zugpositionierung"), 44) self.assertEqual(deckblatt._neuenhauser.anzahl("Sensor_WT18_Spulenprüfung_voll/leer"), 22) - self.assertEqual(deckblatt._neuenhauser.anzahl("Bedientableau_2-fach"), 11) + self.assertEqual(deckblatt._neuenhauser.anzahl("Bedientableau_2fach"), 11) self.assertEqual(deckblatt._neuenhauser.anzahl("Interface_Putzmaschine"), 11) self.assertEqual(deckblatt._neuenhauser.anzahl("Weiche"), 132) @@ -1815,9 +1796,9 @@ class TestObjectMethods(unittest.TestCase): #"Anzahl_Strecken/RSM":8, "Sensor_optisch_Traverse":4, #"Lichtschranke_Traverse":0, - #"Bedientableau_2-fach":0, - "Bedientableau_2-fach_Korrektur":4, - #"Bedientableau_2-fach_Direct":0, + #"Bedientableau_2fach":0, + "Bedientableau_2fach_Korrektur":4, + #"Bedientableau_2fach_Direct":0, #"Weiche":0, "Weiche_Korrektur":4, #"Weiche_Gemeinsame_Rückstellung":0, @@ -1836,17 +1817,17 @@ class TestObjectMethods(unittest.TestCase): rsm_fa_eingabe = { #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet #"Anzahl_RSM":0, - #"Automatische_Umfahrung":0, # 'Automatische_Umfahrung' und 'Flex-A_Premium' sind eine Zelle -> identischer Wert - "Flex-A_Premium":False, + #"Automatische_Umfahrung":0, # 'Automatische_Umfahrung' und 'Flex_A_Premium' sind eine Zelle -> identischer Wert + "Flex_A_Premium":False, "Getriebe_in_der_Mitte":True, - "RSM-Einfahrt_Ein-/Beidseitig":True, + "RSM_Einfahrt_Ein_Beidseitig":True, #"Sensor_optisch_Traverse":0, "Sensor_optisch_Traverse_zusätzlich":3, "Sensor_optisch_Traverse_Korrektur":3, - #"Bedientableau_1-fach":0, - "Bedientableau_1-fach_Korrektur":3, - #"Bedientableau_2-fach":0, - "Bedientableau_2-fach_Korrektur":3, + #"Bedientableau_1fach":0, + "Bedientableau_1fach_Korrektur":3, + #"Bedientableau_2fach":0, + "Bedientableau_2fach_Korrektur":3, #"Weiche":0, "Weiche_Korrektur":3, #"RRA_bi":0, @@ -1878,8 +1859,8 @@ class TestObjectMethods(unittest.TestCase): "Sensor_optisch_Traverse_Korrektur":3, #"Sensor_induktiv_Spulenhalter":0, "Sensor_induktiv_Spulenhalter_Korrektur":2, - #"Bedientableau_2-fach":0, - "Bedientableau_2-fach_Korrektur":3, + #"Bedientableau_2fach":0, + "Bedientableau_2fach_Korrektur":3, #"Interface_Doffer":0, "Interface_Doffer_Korrektur":2, #"Weiche":0, @@ -1922,8 +1903,8 @@ class TestObjectMethods(unittest.TestCase): "Sensor_optisch_Traverse_Korrektur":3, #"Sensorik_Zugpositionierung":0, #"Sensor_WT18_Spulenprüfung_voll/leer":0, - #"Bedientableau_2-fach":0, - "Bedientableau_2-fach_Korrektur":3, + #"Bedientableau_2fach":0, + "Bedientableau_2fach_Korrektur":3, #"Interface_Putzmaschine":0, #"Weiche":0, "Weiche_Korrektur":2, @@ -1948,7 +1929,7 @@ class TestObjectMethods(unittest.TestCase): #"Sensor_optisch_Traverse":0, "Sensor_optisch_Traverse_Korrektur":3, #"Sensor_induktiv_Spulenalter_(Zug_positionierung)":0, - #"Bedientableau_2-fach":0, + #"Bedientableau_2fach":0, #"Interface_Doffer":0, #"Weiche":0, "Weiche_Korrektur":4, @@ -1999,7 +1980,7 @@ class TestObjectMethods(unittest.TestCase): "RA_bi_Korrektur":5, #"RA_bi_ohne_SPS":0, "RA_bi_ohne_SPS_Korrektur":6, - #"Bedientableau_2-fach":0, + #"Bedientableau_2fach":0, } @@ -2010,8 +1991,8 @@ class TestObjectMethods(unittest.TestCase): # self.assertEqual(deckblatt._rsm_direct.anzahl("Anzahl_Strecken/RSM"), 8) # self.assertEqual(deckblatt._rsm_direct.anzahl("Sensor_optisch_Traverse"), 4) # self.assertEqual(deckblatt._rsm_direct.anzahl("Lichtschranke_Traverse"), 78) - # self.assertEqual(deckblatt._rsm_direct.anzahl("Bedientableau_2-fach"), 6) - # self.assertEqual(deckblatt._rsm_direct.anzahl("Bedientableau_2-fach_Direct"), 13) + # self.assertEqual(deckblatt._rsm_direct.anzahl("Bedientableau_2fach"), 6) + # self.assertEqual(deckblatt._rsm_direct.anzahl("Bedientableau_2fach_Direct"), 13) # self.assertEqual(deckblatt._rsm_direct.anzahl("Weiche"), 56) # self.assertEqual(deckblatt._rsm_direct.anzahl("Weiche_Gemeinsame_Rückstellung"), 6) # self.assertEqual(deckblatt._rsm_direct.anzahl("RA_bi_abhebbar"), 9) @@ -2024,8 +2005,8 @@ class TestObjectMethods(unittest.TestCase): # self.assertEqual(deckblatt._rsm_fa.anzahl("Anzahl_RSM"), 13) # self.assertEqual(deckblatt._rsm_fa.anzahl("Sensor_optisch_Traverse"), 32) # self.assertEqual(deckblatt._rsm_fa.anzahl("Sensor_optisch_Traverse_zusätzlich"), 3) - # self.assertEqual(deckblatt._rsm_fa.anzahl("Bedientableau_1-fach"), 29) - # self.assertEqual(deckblatt._rsm_fa.anzahl("Bedientableau_2-fach"), 5) + # self.assertEqual(deckblatt._rsm_fa.anzahl("Bedientableau_1fach"), 29) + # self.assertEqual(deckblatt._rsm_fa.anzahl("Bedientableau_2fach"), 5) # self.assertEqual(deckblatt._rsm_fa.anzahl("Weiche"), 29) # self.assertEqual(deckblatt._rsm_fa.anzahl("RRA_bi"), 32) # self.assertEqual(deckblatt._rsm_fa.anzahl("RRA_bi_auf_Haupstrecke"), 3) @@ -2041,7 +2022,7 @@ class TestObjectMethods(unittest.TestCase): self.assertEqual(deckblatt._flyer_f40.anzahl("Anzahl_Schienen"), 5) #self.assertEqual(deckblatt._flyer_f40.anzahl("Sensor_optisch_Traverse"), 80) # TODO: Wenn Nachpuffer == True, dann wird Sensor_optisch_Traverse_Korrektur doppelt addiert => =WENN(B49="ja";B46*(B47*1)+(B46*5)+(B56*2);B46*(B47*1)+(B46*7)+(B56*2))+C50 self.assertEqual(deckblatt._flyer_f40.anzahl("Sensor_induktiv_Spulenhalter"), 14) - self.assertEqual(deckblatt._flyer_f40.anzahl("Bedientableau_2-fach"), 9) + self.assertEqual(deckblatt._flyer_f40.anzahl("Bedientableau_2fach"), 9) self.assertEqual(deckblatt._flyer_f40.anzahl("Interface_Doffer"), 8) self.assertEqual(deckblatt._flyer_f40.anzahl("Weiche"), 39) self.assertEqual(deckblatt._flyer_f40.anzahl("Weiche_nach_Flyer_(bipolar)"), 8) @@ -2065,7 +2046,7 @@ class TestObjectMethods(unittest.TestCase): self.assertEqual(deckblatt._neuenhauser.anzahl("Sensor_optisch_Traverse"), 322) self.assertEqual(deckblatt._neuenhauser.anzahl("Sensorik_Zugpositionierung"), 44) self.assertEqual(deckblatt._neuenhauser.anzahl("Sensor_WT18_Spulenprüfung_voll/leer"), 22) - self.assertEqual(deckblatt._neuenhauser.anzahl("Bedientableau_2-fach"), 14) + self.assertEqual(deckblatt._neuenhauser.anzahl("Bedientableau_2fach"), 14) self.assertEqual(deckblatt._neuenhauser.anzahl("Interface_Putzmaschine"), 11) self.assertEqual(deckblatt._neuenhauser.anzahl("Weiche"), 134) self.assertEqual(deckblatt._neuenhauser.anzahl("Weiche_nach_PM_(bipolar)"), 143) @@ -2081,7 +2062,7 @@ class TestObjectMethods(unittest.TestCase): self.assertEqual(deckblatt._flyer.anzahl("Anzahl_Schienen"), 13) self.assertEqual(deckblatt._flyer.anzahl("Sensor_optisch_Traverse"), 206) self.assertEqual(deckblatt._flyer.anzahl("Sensor_induktiv_Spulenalter_(Zug_positionierung)"), 7) - self.assertEqual(deckblatt._flyer.anzahl("Bedientableau_2-fach"), 7) + self.assertEqual(deckblatt._flyer.anzahl("Bedientableau_2fach"), 7) self.assertEqual(deckblatt._flyer.anzahl("Interface_Doffer"), 7) self.assertEqual(deckblatt._flyer.anzahl("Weiche"), 95) self.assertEqual(deckblatt._flyer.anzahl("Weiche_nach_Flyer_(bipolar)"), 7) @@ -2108,14 +2089,14 @@ class TestObjectMethods(unittest.TestCase): self.assertEqual(deckblatt._turm.anzahl("Weiche"), 6) self.assertEqual(deckblatt._turm.anzahl("RA_bi"), 9) self.assertEqual(deckblatt._turm.anzahl("RA_bi_ohne_SPS"), 26) - self.assertEqual(deckblatt._turm.anzahl("Bedientableau_2-fach"), 4) + self.assertEqual(deckblatt._turm.anzahl("Bedientableau_2fach"), 4) ''' self.assertEqual(deckblatt._turm.anzahl("Anzahl"), 2) self.assertEqual(deckblatt._turm.anzahl("Anzahl_Staustrecken"), 5) self.assertEqual(deckblatt._turm.anzahl("Weiche"), 6) self.assertEqual(deckblatt._turm.anzahl("RA_bi"), 9) self.assertEqual(deckblatt._turm.anzahl("RA_bi_ohne_SPS"), 26) - self.assertEqual(deckblatt._turm.anzahl("Bedientableau_2-fach"), 4) + self.assertEqual(deckblatt._turm.anzahl("Bedientableau_2fach"), 4) @@ -2123,7 +2104,7 @@ class TestObjectMethods(unittest.TestCase): Anzahl_RSM = { "Anzahl":0, "Sensor_optisch_Traverse":0, - "Bedientableau_2-fach_Korrektur":0, + "Bedientableau_2fach_Korrektur":0, "Weiche_Korrektur":0, "Weiche_Gemeinsame_Rückstellung_Korrektur":0, "RA_bi_abhebbar_Korrektur":0, @@ -2136,9 +2117,9 @@ class TestObjectMethods(unittest.TestCase): "Anzahl_Strecken/RSM":0, "Sensor_optisch_Traverse":0, "Lichtschranke_Traverse":0, - "Bedientableau_2-fach":0, - "Bedientableau_2-fach_Korrektur":0, - "Bedientableau_2-fach_Direct":0, + "Bedientableau_2fach":0, + "Bedientableau_2fach_Korrektur":0, + "Bedientableau_2fach_Direct":0, "Weiche":0, "Weiche_Korrektur":0, "Weiche_Gemeinsame_Rückstellung":0, @@ -2459,9 +2440,9 @@ if __name__ == '__main__': #"Anzahl_Strecken/RSM":8, "Sensor_optisch_Traverse":0, #"Lichtschranke_Traverse":0, - #"Bedientableau_2-fach":0, - "Bedientableau_2-fach_Korrektur":0, - #"Bedientableau_2-fach_Direct":0, + #"Bedientableau_2fach":0, + "Bedientableau_2fach_Korrektur":0, + #"Bedientableau_2fach_Direct":0, #"Weiche":0, "Weiche_Korrektur":0, #"Weiche_Gemeinsame_Rückstellung":0, @@ -2480,16 +2461,16 @@ if __name__ == '__main__': rsm_fa_eingabe = { #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet #"Anzahl_RSM":0, - #"Automatische_Umfahrung":0, # 'Automatische_Umfahrung' und 'Flex-A_Premium' sind eine Zelle -> identischer Wert - "Flex-A_Premium":False, + #"Automatische_Umfahrung":0, # 'Automatische_Umfahrung' und 'Flex_A_Premium' sind eine Zelle -> identischer Wert + "Flex_A_Premium":False, "Getriebe_in_der_Mitte":False, - "RSM-Einfahrt_Ein-/Beidseitig":False, + "RSM_Einfahrt_Ein_Beidseitig":False, #"Sensor_optisch_Traverse":0, "Sensor_optisch_Traverse_zusätzlich":0, - #"Bedientableau_1-fach":0, - "Bedientableau_1-fach_Korrektur":0, - #"Bedientableau_2-fach":0, - "Bedientableau_2-fach_Korrektur":0, + #"Bedientableau_1fach":0, + "Bedientableau_1fach_Korrektur":0, + #"Bedientableau_2fach":0, + "Bedientableau_2fach_Korrektur":0, #"Weiche":0, "Weiche_Korrektur":0, #"RRA_bi":0, @@ -2521,8 +2502,8 @@ if __name__ == '__main__': "Sensor_optisch_Traverse_Korrektur":0, #"Sensor_induktiv_Spulenhalter":0, "Sensor_induktiv_Spulenhalter_Korrektur":0, - #"Bedientableau_2-fach":0, - "Bedientableau_2-fach_Korrektur":0, + #"Bedientableau_2fach":0, + "Bedientableau_2fach_Korrektur":0, #"Interface_Doffer":0, "Interface_Doffer_Korrektur":0, #"Weiche":0, @@ -2565,8 +2546,8 @@ if __name__ == '__main__': "Sensor_optisch_Traverse_Korrektur":0, #"Sensorik_Zugpositionierung":0, #"Sensor_WT18_Spulenprüfung_voll/leer":0, - #"Bedientableau_2-fach":0, - "Bedientableau_2-fach_Korrektur":0, + #"Bedientableau_2fach":0, + "Bedientableau_2fach_Korrektur":0, #"Interface_Putzmaschine":0, #"Weiche":0, "Weiche_Korrektur":0, @@ -2591,7 +2572,7 @@ if __name__ == '__main__': #"Sensor_optisch_Traverse":0, "Sensor_optisch_Traverse_Korrektur":0, #"Sensor_induktiv_Spulenalter_(Zug_positionierung)":0, - #"Bedientableau_2-fach":0, + #"Bedientableau_2fach":0, #"Interface_Doffer":0, #"Weiche":0, "Weiche_Korrektur":0, @@ -2615,9 +2596,9 @@ if __name__ == '__main__': verbindungsstrecken_w_eingabe = { #auskommentiert => kein Übergabeparameter, wird in Klasse berechnet "Sensor_optisch_Traverse":0, - "Bedientableau_1-fach":0, - "Bedientableau_2-fach":0, - "Bedientableau_14-fach":0, + "Bedientableau_1fach":0, + "Bedientableau_2fach":0, + "Bedientableau_14fach":0, "Weiche":0, "Dreifachweiche":0, "Kreuzungsweiche":0, @@ -2657,7 +2638,7 @@ if __name__ == '__main__': "RA_bi_Korrektur":0, #"RA_bi_ohne_SPS":0, "RA_bi_ohne_SPS_Korrektur":0, - #"Bedientableau_2-fach":0, + #"Bedientableau_2fach":0, } mg = MG(Anzahl_MG, rsm_direct_eingabe, rsm_fa_eingabe, flyer_f40_eingabe, neuenhauser_eingabe, flyer_eingabe, verbindungsstrecken_w_eingabe, puffer_eingabe, turm_eingabe) #mg.tofile()