OpenLigaDB / OpenLigaDB-Samples

Code-Samples und Issue-Tracker for using OpenLigaDB-Api
https://www.OpenLigaDB.de
Apache License 2.0
135 stars 17 forks source link

Letztes und nächstes Spiel einer Mannschaft #69

Closed helmar74 closed 10 months ago

helmar74 commented 10 months ago

Hallo,

ich würde gerne das nächste bzw. das letzte Spiel einer Mannschaft, unabhängig von der Liga, ermitteln. Ich kann zwar mit: https://api.openligadb.de/getmatchesbyteamid/40/1/0 https://api.openligadb.de/getmatchesbyteamid/40/1/1

auf eine Woche eingrenzen, aber da die Sortierung nach MatchID ist, (die ja beim anlegen einer Liga vergeben wird), kommen die Ergebnisse "durcheinander" wenn in einer Woche mehrere Spiele sind bzw. waren.

Weiss jemand, ob es möglich ist, das Ergebnis aufsteigend, bzw. absteigend nach DAtum zu sortieren?

Danke im voraus

helmar74 commented 10 months ago

Servus, habs selber gefunden.

Ich verwende jq in einem Skript. Das letzte Spiel einer Manschaft:

apiurl="https://api.openligadb.de/getmatchesbyteamid/40/1/0"
apiresponse=$(curl -f $apiurl)

# Mit diesem jq sort_by Befehl wird der JSON Output nach matchDateTime absteigend (reverse) sortiert.
# Dadurch steht das letzte Spiel im Array [0]. Wenn man nich sortiert, dann ist nach MatchID aufsteigend sortiert
# Dann kann es vorkommen, dass bei meheren Spielen pro Woche nicht das letzte ermittelt wird
apiresponse=$(jq 'sort_by(.matchDateTime) | reverse' <<< $apiresponse )

Das nächste Spiel einer Mannschaft:

apiurl="https://api.openligadb.de/getmatchesbyteamid/40/0/1"

apiresponse=$(curl -f $apiurl)
# Mit diesem jq sort_by Befehl wird der JSON Output nach matchDateTime aufsteigend  sortiert.
# Dadurch steht das nächste anstehende Spiel im Array [0]. Wenn man nich sortiert, dann ist nach MatchID aufsteigend sortiert
# Dann kann es vorkommen, dass bei meheren Spielen pro Woche nicht das nächste ermittelt wird, sondern das übernächste
apiresponse=$(jq 'sort_by(.matchDateTime)' <<< $apiresponse )
helmar74 commented 10 months ago

closed