You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

40 lines
1.2 KiB
Python

import json
import requests
baseUrl = "https://bsvg.efa.de/bsvagstd/"
busstop = input("enter busstop name: ")
getStr = baseUrl+"XML_DM_REQUEST?"+ \
"outputFormat=JSON"+ \
"&stateless=1"+ \
"&locationServerActive=1" \
"&type_dm=stop"+ \
"&name_dm=\""+busstop+"\"" \
"&useRealtime=1"+ \
"&mode=direct" \
"&ptOptionsActive=1"
response = requests.get(getStr)
response.encoding = 'UTF-8'
if "message" in response.json()['dm']:
for item in response.json()['dm']['message']:
if item['name'] == "error" and item['value'] == "name list":
print("select one of:")
for point in response.json()['dm']['points']:
print(point['name'])
exit()
try:
for item in response.json()['departureList']:
hour=item['dateTime']['hour']
minute=item['dateTime']['minute']
if len(hour) < 2:
hour="0"+hour
if len(minute) < 2:
minute="0"+minute
print(hour+":"+minute, end="\t")
print(item['servingLine']['number'], end="\t")
print(item['servingLine']['direction'])
except TypeError:
print("Couldn't get list")