Files
web2.0-backend/infoscreen/hsl_fetcher.py
T
2017-01-20 15:28:04 +02:00

29 lines
1023 B
Python

from infoscreen.models import HSLDataModel
from django.conf import settings
import urllib.request
import json
class HSLFetcher:
def fetch(self):
location_coords = (2545565, 6675319)
src = urllib.request.urlopen(
"http://api.reittiopas.fi/hsl/prod/?userhash={}&request=stops_area&center_coordinate={},{}"
.format(settings.HSL_USERHASH, location_coords[0], location_coords[1]))\
.read().decode("utf-8")
data = json.loads(src)
arr = []
for element in data:
src = urllib.request.urlopen(
"http://api.reittiopas.fi/hsl/prod/?userhash={}&request=stop&code={}"
.format(settings.HSL_USERHASH, element['code'])).read().decode("utf-8")
parsed = json.loads(src)[0]
arr.append({"name": parsed['name_fi'], "lines": parsed['lines'],
"dist": element['dist'], "departures": parsed['departures']})
HSLDataModel.objects.create(data=json.dumps(arr))