This repository was archived by the owner on Dec 1, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrequest.py
More file actions
58 lines (51 loc) · 1.71 KB
/
request.py
File metadata and controls
58 lines (51 loc) · 1.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
## All request functions for the API's
from __api__ import nsapi
import http.client, urllib.request, urllib.parse, urllib.error, base64
import json
with open("config.json") as jsonfile:
config = json.load(jsonfile)
## NS API
def get_station(station):
params = urllib.parse.urlencode({
'q': f'{station}',
'limit': 8,
'details': 'false',
'lang': f'{ config["language"] }',
})
url = f"/places-api/v2/places"
get_results = nsapi(url, params)
stationcode_results = []
for station in get_results['payload'][0]['locations']:
stationcode_results.append(station['stationCode'])
stationcode = min(stationcode_results, key=len)
params = urllib.parse.urlencode({
'station_code': f'{stationcode}',
'limit': 1,
'details': 'false',
'lang': f'{config["language"]}',
})
station = nsapi(url, params)
return station['payload'][0]['locations'][0]
def get_train(ridenumber):
params = urllib.parse.urlencode({
})
url = f"/virtual-train-api/api/v1/trein/{ridenumber}"
train = nsapi(url, params)
if 'type' not in train:
train['type'] = 'Onbekend'
train['lengte'] = ''
return train
def get_disruptions():
url = f"/reisinformatie-api/api/v3/disruptions"
params = urllib.parse.urlencode({
'isActive': 'true',
})
disruptions = nsapi(url, params)
return disruptions
##-----------------------------------------------------------------------------
## Wakatime API
##-----------------------------------------------------------------------------
def get_wakatime():
url = f"api/v1/users/martvdm/projects/TrainAPI/stats"
wakatime = wakatimeapi(url, params)
print(wakatime)