Phalos-Typ-M-ZZA/settings_phalos.py

185 lines
6.7 KiB
Python

from pyfis.splitflap_display import SplitFlapDisplay, TextField, CustomMapField, MirrorField
from pyfis.utils import vias_from_csv, map_from_csv
CHEETAH_HOST = "http://192.168.2.129"
DBI_HOST = "trains.xatlabs.com"
STATION_CODE = "MH"
STATION_NAME = "München Hbf"
ARRIVAL_STATIONS = ["München Hbf", "München Hauptbahnhof"]
PLATFORM = "0"
PLATFORMS_INCLUDE = None
PLATFORMS_EXCLUDE = ["1", "2"]
DEFAULT_OPERATOR = "DB"
ARRIVAL_HOUR_FORMAT = "Ankunft {}"
ARRIVAL_MIN_FORMAT = "{:02d}"
DEPARTURE_HOUR_FORMAT = "Abfahrt {}"
DEPARTURE_MIN_FORMAT = "{:02d}"
PLATFORM_CHANGE_FORMAT = "heute aus Gleis {}"
OUT_OF_ORDER_TEXT = "Anzeiger außer Betrieb"
NO_TRAINS_TEXT = ""
CANCELLED_TEXT = "Bitte Ansage beachten"
DELAY_FORMAT = "Etwa {} Min. später"
DELAY_ABOVE_FORMAT = "Über {} Min. später"
SMALL_DELAY_TEXT = ""
UNSPECIFIC_DELAY_TEXT = "Über 60 Min. später"
DO_NOT_BOARD_TEXT = "Nicht einsteigen"
NO_STOP_EVERYWHERE_TEXT = "Hält nicht überall"
BUS_REPLACEMENT_TEXT = "Bitte Ansage beachten"
MAP_HOUR = map_from_csv("Stunden.csv")
MAP_MINUTE = map_from_csv("Minuten.csv")
MAP_ALNUM = map_from_csv("Zielmodul (alphanumerisch).csv")
MAP_INFO_1 = map_from_csv("Hinweis 1.csv")
MAP_INFO_2 = map_from_csv("Hinweis 2.csv")
VIA_1 = vias_from_csv("Via 1.csv")
MAP_VIA_1 = map_from_csv("Via 1.csv")
VIA_1[127] = {'text': "", 'stations': []}
MAP_VIA_1[127] = ""
VIA_2 = vias_from_csv("Via 2.csv")
MAP_VIA_2 = map_from_csv("Via 2.csv")
VIA_2[127] = {'text': "", 'stations': []}
MAP_VIA_2[127] = ""
DESTINATION_MAP = {
"Frankfurt(Main)Hbf": "Frankfurt Hbf",
"Freiburg(Breisgau) Hbf": "Freiburg Hbf",
"Homburg(Saar)Hbf": "Homburg (Saar)",
"Neustadt(Weinstr)Hbf": "Neustadt Hbf",
"Mosbach(Baden)": "Mosbach",
"Berlin Hbf (tief)": "Berlin Hbf",
"Berlin Ostbahnhof": "Berlin Ostbhf.",
"Berlin Gesundbrunnen": "B. Gesundbrunnen",
"Kassel-Wilhelmshöhe": "Kassel-Wilh.",
"Kaiserslautern Hbf": "Kaiserslaut.",
"Marseille-St-Charles": "Marseille St Ch",
"Graben-Neudorf": "Graben Neud.",
"Groß Rohrheim": "Gr. Rohrheim",
"Homburg(Saar)Hbf": "Homburg (SL)",
"Weilheim(Oberbay)": "Weilheim(OB)",
"Garmisch-Partenkirchen": "Garmisch-P.K.",
"Ehrwald Zugspitzbahn": "Ehrwald",
"Mühldorf(Oberbay)": "Mühldorf(OB)",
"München Flughafen Terminal": "Flughafen/Airp.",
"Amsterdam Centraal": "Amsterdam CS",
"Venezia Santa Lucia": "Venezia",
"Zagreb Glavni kolodvor": "Zagreb Glavni K.",
"Kempten(Allgäu)Hbf": "Kempten Hbf",
"Höhenkirchen-Siegertsbrunn": "Höhenkirchen",
"München-Trudering": "Trudering",
"Buchenau(Oberbay)": "Buchenau",
"München Leuchtenbergring": "Leuchtenbgr.",
"Pfronten-Steinach": "Pfronten-Stein.",
"Verona Porta Nuova": "Verona P. N.",
"Budapest Déli": "Budapest Deli",
"Köln Messe/Deutz Gl. 9-10": "Köln Messe/Deutz",
"Köln Messe/Deutz Gl.11-12": "Köln Messe/Deutz",
"Frankfurt(M) Flughafen Fernbf": "Frankfurt Flugh.",
"Dachau Bahnhof": "Dachau",
"München Ost": "Ostbahnhof",
"Wolfratshausen": "Wolfratshsn",
"München-Pasing": "Pasing",
"La Spezia Centrale": "La Spezia C",
"Münster(Westf)Hbf": "Münster(W)Hbf",
}
ARRIVAL_MAP = {
"Frankfurt(Main)Hbf": "Frankfurt/M",
"Hamburg-Altona": "H.-Altona",
"Graben-Neudorf": "Graben Neud.",
"Groß Rohrheim": "Gr. Rohrheim",
"Homburg(Saar)Hbf": "Homburg (SL)",
"Weilheim(Oberbay)": "Weilheim(OB)",
"Lindau-Reutin": "Lindau-Reut.",
"Garmisch-Partenkirchen": "Garmisch",
"Ehrwald Zugspitzbahn": "Ehrwald",
"Budapest-Keleti": "Budapest",
"Mühldorf(Oberbay)": "Mühldorf(OB)",
"München Flughafen Terminal": "Flughafen",
"Köln Messe/Deutz": "Köln",
"Berlin Gesundbrunnen": "Berlin",
"Berlin Hbf (tief)": "Berlin Hbf",
"München Flughafen Terminal": "Flughafen",
"Amsterdam Centraal": "Amsterdam CS",
"Venezia Santa Lucia": "Venezia",
"Zagreb Glavni kolodvor": "Zagreb",
"Kempten(Allgäu)Hbf": "Kempten Hbf",
"Höhenkirchen-Siegertsbrunn": "Höhenkirchen",
"München-Trudering": "Trudering",
"Buchenau(Oberbay)": "Buchenau",
"München Leuchtenbergring": "Leuchtenbgr.",
"Treuchtlingen": "Treuchtling.",
"Dinkelscherben": "Dinkelschbn.",
"Wolfratshausen": "Wolfratshsn.",
"Bologna Centrale": "Bologna CT",
"München-Pasing": "M.-Pasing",
"Furth im Wald": "Furth i.W.",
"Pfronten-Steinach": "Pfronten",
"Dachau Bahnhof": "Dachau",
"Verona Porta Nuova": "Verona P. N.",
"Budapest Déli": "Budapest D.",
"Wien Westbahnhof": "Wien Westbf.",
"Köln Messe/Deutz": "Köln M/Deutz",
"Köln Messe/Deutz Gl. 9-10": "Köln M/Deutz",
"Köln Messe/Deutz Gl.11-12": "Köln M/Deutz",
"La Spezia Centrale": "La Spezia C",
}
TRAIN_TYPE_MAP = {
"TGV": "D Schnellzug",
"EC": "EC EuroCity",
"IC": "IC InterCity",
"IR": "InterRegio",
"RB": "RegionalBahn",
"RE": "RegionalExpress",
"IRE": "InterRegioExpress",
"ICE": "ICE InterCityExpress",
"BRB": "RegionalBahn",
"EN": "EuroNight",
"NJ": "EuroNight",
"ECE": "ECE EuroCityExpress",
"RJ": "railjet",
"S": "MVV Münchner Verkehrs- und Tarifverbund",
"RJX": "MÁV Magyar Államvasutak",
"ALX": "alex",
"WB": "D Schnellzug Zuschlag siehe Abfahrtplan",
}
VIA_MAP = {
}
VIA_WEIGHTS = {
"Weilheim": 2
}
# Wird nur noch gebraucht, um neue JSON-Datei zu erstellen
class TypMZZA(SplitFlapDisplay):
hour = CustomMapField(MAP_HOUR, start_address=1, x=0, y=0, module_width=12, module_height=2, home_pos=127)
minute = CustomMapField(MAP_MINUTE, start_address=2, x=12, y=0, module_width=4, module_height=2, home_pos=127)
info_1 = CustomMapField(MAP_INFO_1, start_address=4, x=0, y=2, module_width=16, module_height=2, home_pos=127)
info_2 = CustomMapField(MAP_INFO_2, start_address=5, x=0, y=4, module_width=16, module_height=2, home_pos=127)
via_1 = CustomMapField(MAP_VIA_1, start_address=6, x=16, y=2, module_width=16, module_height=2, home_pos=127)
via_2 = CustomMapField(MAP_VIA_2, start_address=7, x=16, y=4, module_width=16, module_height=2, home_pos=127)
destination = TextField(start_address=8, length=16, x=0, y=6, module_width=2, module_height=2, display_mapping=MAP_ALNUM, home_pos=127)
hour_b = MirrorField(hour, start_address=24, x=0, y=10)
minute_b = MirrorField(minute, start_address=25, x=12, y=10)
info_1_b = MirrorField(info_1, start_address=26, x=0, y=12)
info_2_b = MirrorField(info_2, start_address=28, x=0, y=14)
via_1_b = MirrorField(via_1, start_address=27, x=16, y=12)
via_2_b = MirrorField(via_2, start_address=29, x=16, y=14)
destination_b = MirrorField(destination, start_address=30, length=16, x=0, y=16)
if __name__ == "__main__":
with open("TYPM.JSN", 'w') as f:
f.write(TypMZZA(None).export_json())