From e67ef5e4ed185fbbad43d7d6907545b4b646fd4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juuso=20K=C3=A4enm=C3=A4ki?= Date: Sat, 10 Dec 2016 19:32:39 +0200 Subject: [PATCH] Modified hsl.py to work as a django command. --- infoscreen/hsl.html | 129 -------------------------- infoscreen/hsl.py | 15 --- infoscreen/json | 1 - infoscreen/management/commands/hsl.py | 18 ++++ 4 files changed, 18 insertions(+), 145 deletions(-) delete mode 100644 infoscreen/hsl.html delete mode 100644 infoscreen/hsl.py delete mode 100644 infoscreen/json create mode 100644 infoscreen/management/commands/hsl.py diff --git a/infoscreen/hsl.html b/infoscreen/hsl.html deleted file mode 100644 index ba6bceb..0000000 --- a/infoscreen/hsl.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - -
- - - - - - - - - - - - - - -
- Aika - - Bussin numero - - Pysäkki - - Päätepysäkki -
- {{x.time}} - - {{x.bus}} - - {{x.stop}} - - {{x.laststop}} -
-
- - diff --git a/infoscreen/hsl.py b/infoscreen/hsl.py deleted file mode 100644 index 1fe79c5..0000000 --- a/infoscreen/hsl.py +++ /dev/null @@ -1,15 +0,0 @@ -import json -import urllib.request - -userhash="1aca11408c6615e0a403a90e485a3b9ff0fb7cde7b7d" -src = urllib.request.urlopen("http://api.reittiopas.fi/hsl/prod/?userhash="+userhash+"&request=stops_area¢er_coordinate=2545565,6675319").read().decode("utf-8") -data = json.loads(src); -arr=[] -for element in data: - src = urllib.request.urlopen("http://api.reittiopas.fi/hsl/prod/?userhash="+userhash+"&request=stop&code="+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']}) -file=open('static/js/hsl.json','w') -file.write(json.dumps(arr)) -file.close() - diff --git a/infoscreen/json b/infoscreen/json deleted file mode 100644 index 9d29d69..0000000 --- a/infoscreen/json +++ /dev/null @@ -1 +0,0 @@ -[{"name": "Tietotie, Laituri 17", "lines": ["2010 1:Puolarmets\u00e4", "2010K 1:Puolarmets\u00e4", "2195N 1:Latokaski"], "departures": [{"code": "2195N 1", "date": 20160829, "time": 2426}, {"code": "2195N 1", "date": 20160829, "time": 2455}, {"code": "2195N 1", "date": 20160829, "time": 2524}], "dist": 247}, {"name": "Innopoli, Laituri 2", "lines": ["2010 1:Puolarmets\u00e4", "2010K 1:Puolarmets\u00e4", "2103 1:Pohjois-Tapiola", "2103T 1:Pohjois-Tapiola", "2550 2:It\u00e4keskus, lait. 22", "5510 2:Martinlaakso l.13"], "departures": [{"code": "2550 2", "date": 20160829, "time": 2406}, {"code": "2550 2", "date": 20160829, "time": 2436}, {"code": "2550 2", "date": 20160829, "time": 2506}], "dist": 288}, {"name": "Tietotie, Laituri 16", "lines": ["2010 2:Otaniemi", "2010K 2:Otaniemi", "2195N 2:Kamppi"], "departures": [{"code": "2195N 2", "date": 20160829, "time": 2403}, {"code": "2195N 2", "date": 20160829, "time": 2433}, {"code": "2195N 2", "date": 20160829, "time": 2533}], "dist": 295}, {"name": "Innopoli, Laituri 1", "lines": ["2010 2:Otaniemi", "2010K 2:Otaniemi", "2103 2:Kamppi, laituri 42", "2103T 2:Kamppi, laituri 42", "2550 1:Westendinasema", "5510 1:Tapiola, laituri 6"], "departures": [{"code": "2550 1", "date": 20160829, "time": 2358}, {"code": "2550 1", "date": 20160829, "time": 2413}, {"code": "2550 1", "date": 20160829, "time": 2443}, {"code": "2550 1", "date": 20160829, "time": 2510}, {"code": "2550 1", "date": 20160829, "time": 2539}], "dist": 303}, {"name": "Maarinranta", "lines": ["2550 2:It\u00e4keskus, lait. 22", "5510 2:Martinlaakso l.13"], "departures": [{"code": "2550 2", "date": 20160829, "time": 2407}, {"code": "2550 2", "date": 20160829, "time": 2437}, {"code": "2550 2", "date": 20160829, "time": 2507}], "dist": 493}, {"name": "Otakaari", "lines": ["2010 1:Puolarmets\u00e4", "2010K 1:Puolarmets\u00e4", "2195N 1:Latokaski"], "departures": [{"code": "2195N 1", "date": 20160829, "time": 2424}, {"code": "2195N 1", "date": 20160829, "time": 2453}, {"code": "2195N 1", "date": 20160829, "time": 2522}], "dist": 513}, {"name": "Otakaari", "lines": ["2010 2:Otaniemi", "2010K 2:Otaniemi", "2195N 2:Kamppi"], "departures": [{"code": "2195N 2", "date": 20160829, "time": 2405}, {"code": "2195N 2", "date": 20160829, "time": 2435}, {"code": "2195N 2", "date": 20160829, "time": 2535}], "dist": 539}, {"name": "Hopealehto", "lines": ["2117 1:Tapiola"], "departures": null, "dist": 543}, {"name": "M\u00e4ntyviita", "lines": ["2117 1:Tapiola"], "departures": null, "dist": 636}, {"name": "Vuorimies, Laituri 15", "lines": ["2015 1:Jupperi", "2103 1:Pohjois-Tapiola", "2103T 1:Pohjois-Tapiola", "2194 1:Tapiola", "2194A 1:Orion", "2195 1:Latokaski", "5510 2:Martinlaakso l.13"], "departures": null, "dist": 639}, {"name": "Kemisti, Laituri 13", "lines": ["2015 1:Jupperi", "2550 2:It\u00e4keskus, lait. 22", "5510 2:Martinlaakso l.13"], "departures": [{"code": "2550 2", "date": 20160829, "time": 2403}, {"code": "2550 2", "date": 20160829, "time": 2433}, {"code": "2550 2", "date": 20160829, "time": 2503}], "dist": 643}, {"name": "S\u00e4hk\u00f6mies", "lines": ["2010 1:Puolarmets\u00e4", "2010K 1:Puolarmets\u00e4", "2195N 1:Latokaski"], "departures": [{"code": "2195N 1", "date": 20160829, "time": 2424}, {"code": "2195N 1", "date": 20160829, "time": 2453}, {"code": "2195N 1", "date": 20160829, "time": 2522}], "dist": 666}, {"name": "Tiet\u00e4j\u00e4", "lines": ["2550 1:Westendinasema", "5510 1:Tapiola, laituri 6"], "departures": [{"code": "2550 1", "date": 20160829, "time": 2411}, {"code": "2550 1", "date": 20160829, "time": 2441}, {"code": "2550 1", "date": 20160829, "time": 2509}, {"code": "2550 1", "date": 20160829, "time": 2538}], "dist": 676}, {"name": "Kemisti, Laituri 12", "lines": ["2015 2:Otaniemi", "2550 1:Westendinasema", "5510 1:Tapiola, laituri 6"], "departures": [{"code": "2550 1", "date": 20160829, "time": 2400}, {"code": "2550 1", "date": 20160829, "time": 2415}, {"code": "2550 1", "date": 20160829, "time": 2445}, {"code": "2550 1", "date": 20160829, "time": 2512}, {"code": "2550 1", "date": 20160829, "time": 2541}], "dist": 676}, {"name": "Vuorimies, Laituri 14", "lines": ["2015 2:Otaniemi", "2103 2:Kamppi, laituri 42", "2103T 2:Kamppi, laituri 42", "2194 2:Kamppi", "2194A 2:Kamppi", "2195 2:Kamppi", "5510 1:Tapiola, laituri 6"], "departures": null, "dist": 680}, {"name": "Alvar Aallon puisto, Laituri 11", "lines": ["2102 1:Otaniemi", "2102T 1:Otaniemi", "2103 1:Pohjois-Tapiola", "2103T 1:Pohjois-Tapiola", "2194 1:Tapiola", "2194A 1:Orion", "2195 1:Latokaski", "2552 1:Otaniemi"], "departures": [{"code": "2102T 1", "date": 20160829, "time": 2419}, {"code": "2102T 1", "date": 20160829, "time": 2444}, {"code": "2102T 1", "date": 20160829, "time": 2514}], "dist": 698}, {"name": "S\u00e4hk\u00f6mies", "lines": ["2010 2:Otaniemi", "2010K 2:Otaniemi", "2195N 2:Kamppi"], "departures": [{"code": "2195N 2", "date": 20160829, "time": 2405}, {"code": "2195N 2", "date": 20160829, "time": 2435}, {"code": "2195N 2", "date": 20160829, "time": 2535}], "dist": 705}, {"name": "Alvar Aallon puisto, Laituri 10", "lines": ["2102 2:Kamppi, laituri 41", "2102T 2:Kamppi, laituri 41", "2103 2:Kamppi, laituri 42", "2103T 2:Kamppi, laituri 42", "2194 2:Kamppi", "2194A 2:Kamppi", "2195 2:Kamppi", "2552 2:Malmin asema"], "departures": [{"code": "2102T 2", "date": 20160829, "time": 2407}, {"code": "2102T 2", "date": 20160829, "time": 2437}, {"code": "2102T 2", "date": 20160829, "time": 2527}], "dist": 708}, {"name": "Valkj\u00e4rventie", "lines": ["2116 1:Pohjois-Tapiola", "2116 2:Tapiolan uimahalli"], "departures": null, "dist": 762}, {"name": "Aarnivalkean koulu", "lines": ["2117 1:Tapiola"], "departures": null, "dist": 789}] \ No newline at end of file diff --git a/infoscreen/management/commands/hsl.py b/infoscreen/management/commands/hsl.py new file mode 100644 index 0000000..a38b1d2 --- /dev/null +++ b/infoscreen/management/commands/hsl.py @@ -0,0 +1,18 @@ +import json +import urllib.request +from django.conf import settings +from django.core.management.base import BaseCommand + +class Command(BaseCommand): + help = 'Loads HSL timetables and save to json file.' + + def handle(self, *args, **options): + src = urllib.request.urlopen("http://api.reittiopas.fi/hsl/prod/?userhash="+settings.HSL_USERHASH+"&request=stops_area¢er_coordinate=2545565,6675319").read().decode("utf-8") + data = json.loads(src); + arr=[] + for element in data: + src = urllib.request.urlopen("http://api.reittiopas.fi/hsl/prod/?userhash="+userhash+"&request=stop&code="+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']}) + with open('{}/hsl.json'.format(settings.MEDIA_ROOT),'w') as file: + file.write(json.dumps(arr))