180 lines
6.5 KiB
Python
180 lines
6.5 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_1[99] = ""
|
|
|
|
MAP_INFO_2 = map_from_csv("Hinweis 2.csv")
|
|
MAP_INFO_2[99] = ""
|
|
|
|
VIA_1 = vias_from_csv("Via 1.csv")
|
|
MAP_VIA_1 = map_from_csv("Via 1.csv")
|
|
VIA_1[99] = {'text': "", 'stations': []}
|
|
MAP_VIA_1[99] = ""
|
|
|
|
VIA_2 = vias_from_csv("Via 2.csv")
|
|
MAP_VIA_2 = map_from_csv("Via 2.csv")
|
|
VIA_2[99] = {'text': "", 'stations': []}
|
|
MAP_VIA_2[99] = ""
|
|
|
|
|
|
|
|
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",
|
|
}
|
|
|
|
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",
|
|
}
|
|
|
|
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",
|
|
}
|
|
|
|
VIA_MAP = {
|
|
|
|
}
|
|
|
|
VIA_WEIGHTS = {
|
|
"Weilheim": 1
|
|
}
|
|
|
|
|
|
# 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)
|