@@ -36,7 +36,7 @@ class SignalFunction(Enum):
3636 Block_Signal = auto ()
3737 Vorsignal_Vorsignalwiederholer = auto ()
3838 Zwischen_Signal = auto ()
39- # Not real signals: signal.kind == SignalKind.FikitivesSignal
39+ # Not real signals: signal.kind == SignalKind.FiktivesSignal
4040 Zug_Ziel_Strecke = auto ()
4141 Rangier_Start_Ziel_ohne_Signal = auto ()
4242 Nicht_Definiert = auto ()
@@ -89,11 +89,20 @@ class SignalState(Enum):
8989 ZS2V = auto ()
9090 ZS3 = auto ()
9191 ZS3V = auto ()
92+ ZS6 = auto ()
93+ ZS7 = auto ()
94+ ZS13 = auto ()
9295 ZLO = auto ()
96+ ZLU = auto ()
97+ KL = auto ()
9398 LF7 = auto ()
9499 RA10 = auto ()
95100 RA12 = auto ()
96101 MS_WS_RT_WS = auto ()
102+ MS_WS_GE_WS = auto ()
103+ MS_WS_SW_WS = auto ()
104+ MS_RT = auto ()
105+ MS_WS_2SWP = auto ()
97106 MS_GE_D = auto ()
98107
99108 @classmethod
@@ -107,12 +116,24 @@ def get_state_by_string(cls, state_string: str):
107116 return SignalState .__members__ [state_string_trimmed ]
108117 if state_string == "Mastschild weiß-rot-weiß" :
109118 return SignalState .MS_WS_RT_WS
119+ if state_string == "Mastschild weiß-gelb-weiß-gelb-weiß" :
120+ return SignalState .MS_WS_GE_WS
121+ if state_string == "Mastschild weiß-schwarz-weiß-schwarz-weiß" :
122+ return SignalState .MS_WS_SW_WS
123+ if state_string == "Mastschild rot" :
124+ return SignalState .MS_RT
125+ if state_string == "Mastschild weiß mit zwei schwarzen Punkten" :
126+ return SignalState .MS_WS_2SWP
110127 if state_string == "gelbes Dreieck mit Spitze nach unten" :
111128 return SignalState .MS_GE_D
112129 if state_string == "verkuerzter Abstand des Bremswegs, weißes Zusatzlicht über Signallicht" :
113130 return SignalState .ZLO
131+ if state_string == "Vorsignalwiederholer, weißes Zusatzlicht unter Signallicht" :
132+ return SignalState .ZLU
133+ if state_string == "ein weißes Licht anstelle der sonst vorgesehenen Signalbilder" :
134+ return SignalState .KL
114135 logging .warning (
115- f"The Signal State with the string { state_string } does not exists. Return None instead"
136+ f"The Signal State with the string { state_string } does not exist. Returning None instead"
116137 )
117138 return None
118139
@@ -132,9 +153,10 @@ def __init__(
132153 function : SignalFunction | str ,
133154 kind : SignalKind | str ,
134155 system : SignalSystem | str = SignalSystem .andere ,
135- side_distance : float = None ,
136- supported_states : Set [SignalState ] = None ,
156+ side_distance : float | None = None ,
157+ supported_states : Set [SignalState ] | None = None ,
137158 classification_number : str = "60" ,
159+ additional_signals : list [AdditionalSignal ] = [],
138160 ** kwargs ,
139161 ):
140162 """
@@ -155,12 +177,12 @@ def __init__(
155177 """
156178
157179 super ().__init__ (** kwargs )
158- self .trip : Trip = None
180+ self .trip : Trip | None = None
159181 self .edge = edge
160182 self .distance_edge = float (distance_edge )
161183 self .classification_number = classification_number
162184 self .control_member_uuid = str (uuid4 ())
163- self .additional_signals : list [ AdditionalSignal ] = []
185+ self .additional_signals = additional_signals
164186 self .supported_states : Set [SignalState ] = supported_states if supported_states else set ()
165187
166188 if isinstance (direction , str ):
0 commit comments