Last active
May 13, 2019 16:56
-
-
Save d3d9/1c9a65f43e66043fd26786b93605b7b7 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ifopt_haltestelle1 = "..." | |
ifopt_haltestelle2 = "..." | |
# siehe dm_depdata.py: | |
''' | |
Liste von nacheinander (im Falle von mehreren Fehlschlägen ※) abzuarbeitenden Funktionen | |
mit jeweils nacheinander (siehe ※) erstmal abzuarbeitenden Argumenten, | |
alles nacheinander durchlaufend, bis irgendwas erfolgreich ein Ergebnis liefert. | |
Verschiedene Funktionen -- Callable[..., type_depmsgdata] -- in der oberen Liste sind sinnvoll, | |
wenn man z. B. nach Fehlschlagen bei der DB-Schnittstelle eine andere, | |
z. B. VRR EFA-Schnittstelle verwenden will, und dies eben eine andere aufzurufende Funktion erfordert. | |
Verschiedene Argumente in der tiefer liegenden Liste -- List[Dict[str, Any]] -- | |
sind sinnvoll wenn man bei der gleichen Schnittstellenart/Funktion nach dem Fehlschlagen bleiben will, | |
und nur andere Argumente verwenden will, z. B. nur eine andere Server-URL. | |
''' | |
type_depfnlist = List[Tuple[Callable[..., type_depmsgdata], | |
List[Dict[str, Any]]]] | |
''' | |
Tuple[str, bool] --> Bezeichnung für diesen "Strang"; und ob nach endgültigem (nach mehreren Retries, | |
und nach Durchlaufen der angegebenen Ausweichoptionen siehe oben) Fehlschlagen alles als fehlgeschlagen gilt, | |
oder ob das Fehlschlagen dieses gesamten "Stranges" "ignoriert" werden kann. | |
''' | |
type_depfns = Dict[Tuple[str, bool], type_depfnlist] | |
# in dm_tomatrixled.py, wird dann im Aufruf pe.submit(getdeps, depfunctions=depfunctions, ...) verwendet: | |
depfunctions: type_depfns = { | |
("haltestelle1", True): [(getefadeps, [{'serverurl': efaserver, | |
'timeout': servertimeout, | |
'ifopt': ifopt_haltestelle1, | |
'limit': limit*args.limit_multiplier, | |
'tz': tz, | |
'exclMOT': trainTMOTefa, | |
'ignore_infoTypes': ignore_infoTypes, | |
'ignore_infoIDs': ignore_infoIDs, | |
'content_for_short_titles': content_for_short_titles, | |
}, | |
{'serverurl': efaserver_backup, | |
'timeout': servertimeout, | |
'ifopt': ifopt_haltestelle1, | |
'limit': limit*args.limit_multiplier, | |
'tz': tz, | |
'exclMOT': trainTMOTefa, | |
'ignore_infoTypes': ignore_infoTypes, | |
'ignore_infoIDs': ignore_infoIDs, | |
'content_for_short_titles': content_for_short_titles, | |
}, | |
]) | |
], | |
("haltestelle2", True): [(getefadeps, [{'serverurl': efaserver, | |
'timeout': servertimeout, | |
'ifopt': ifopt_haltestelle2, | |
'limit': limit*args.limit_multiplier, | |
'tz': tz, | |
'exclMOT': trainTMOTefa, | |
'ignore_infoTypes': ignore_infoTypes, | |
'ignore_infoIDs': ignore_infoIDs, | |
'content_for_short_titles': content_for_short_titles, | |
}, | |
{'serverurl': efaserver_backup, | |
'timeout': servertimeout, | |
'ifopt': ifopt_haltestelle2, | |
'limit': limit*args.limit_multiplier, | |
'tz': tz, | |
'exclMOT': trainTMOTefa, | |
'ignore_infoTypes': ignore_infoTypes, | |
'ignore_infoIDs': ignore_infoIDs, | |
'content_for_short_titles': content_for_short_titles, | |
}, | |
]) | |
], | |
} | |
# Beispiel ohne Backup-Serveradressen: | |
depfunctions: type_depfns = { | |
("haltestelle1", True): [(getefadeps, [{'serverurl': efaserver, | |
'timeout': servertimeout, | |
'ifopt': ifopt_haltestelle1, | |
'limit': limit*args.limit_multiplier, | |
'tz': tz, | |
'exclMOT': trainTMOTefa, | |
'ignore_infoTypes': ignore_infoTypes, | |
'ignore_infoIDs': ignore_infoIDs, | |
'content_for_short_titles': content_for_short_titles, | |
}, | |
]) | |
], | |
("haltestelle2", True): [(getefadeps, [{'serverurl': efaserver, | |
'timeout': servertimeout, | |
'ifopt': ifopt_haltestelle2, | |
'limit': limit*args.limit_multiplier, | |
'tz': tz, | |
'exclMOT': trainTMOTefa, | |
'ignore_infoTypes': ignore_infoTypes, | |
'ignore_infoIDs': ignore_infoIDs, | |
'content_for_short_titles': content_for_short_titles, | |
}, | |
]) | |
], | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment