Define LEFRECCE_*_URL instead of always directly initializing the url*. - lefrecce - Retrieve information about next trains and stations via lefrecce.it
(HTM) hg clone https://bitbucket.org/iamleot/lefrecce
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
---
(DIR) changeset ebe32102a724d951d7aa5442cfb2444cb91f2054
(DIR) parent eedebe190eaf99b0657b9e41f27595454a93409c
(HTM) Author: Leonardo Taccari <iamleot@gmail.com>
Date: Mon, 14 May 2018 00:00:48
Define LEFRECCE_*_URL instead of always directly initializing the url*.
Diffstat:
lefrecce.py | 41 ++++++++++++++++++++++++++++-------------
1 files changed, 28 insertions(+), 13 deletions(-)
---
diff -r eedebe190eaf -r ebe32102a724 lefrecce.py
--- a/lefrecce.py Sun May 13 23:34:25 2018 +0200
+++ b/lefrecce.py Mon May 14 00:00:48 2018 +0200
@@ -42,6 +42,26 @@
import requests
+LEFRECCE_API_URL = 'https://www.lefrecce.it/msite/api'
+LEFRECCE_SOLUTIONS_URL = LEFRECCE_API_URL + '/solutions?' + \
+ 'origin={origin}&' + \
+ 'destination={destination}&' + \
+ 'arflag=A&' + \
+ 'adate={adate}&' + \
+ 'atime={atime}&' + \
+ 'adultno=1&' + \
+ 'childno=0&' + \
+ 'direction=A&' + \
+ 'frecce=false&' + \
+ 'onlyRegional=false'
+LEFRECCE_SOLUTIONS_INFO_URL = LEFRECCE_API_URL + '/solutions?' + \
+ '{solution}/info'
+LEFRECCE_LOCATIONS_URL = LEFRECCE_API_URL + '/geolocations/locations?' + \
+ 'name={name}'
+LEFRECCE_STATIONS_URL = 'http://www.trenitalia.com/cms-file/common/js/' + \
+ 'themes/trenitalia_2014/001/list_json.js'
+
+
def print_solution(solution):
"""Pretty print each solution returned by solutions()."""
@@ -114,13 +134,10 @@
>>> sols[0]['trains'] == []
True
"""
- url = 'https://www.lefrecce.it/msite/api/solutions?' \
- + 'origin=' + origin + '&' \
- + 'destination=' + destination + '&' \
- + 'arflag=A' + '&' \
- + 'adate=' + adate + '&' \
- + 'atime=' + atime + '&' \
- + 'adultno=1&childno=0&direction=A&frecce=false&onlyRegional=false'
+ url = LEFRECCE_SOLUTIONS_URL.format(origin=origin,
+ destination=destination,
+ adate=adate,
+ atime=atime)
sess = requests.Session()
sess.headers['Accept-Language'] = 'en-US'
@@ -139,8 +156,8 @@
s['trains'] = []
if verbose:
- trains_url = 'https://www.lefrecce.it/msite/api/solutions/' + \
- solution['idsolution'] + '/info'
+ trains_url = LEFRECCE_SOLUTIONS_INFO_URL.format(
+ solution=solution['idsolution'])
r = sess.get(trains_url)
trains = json.loads(r.text)
@@ -189,8 +206,7 @@
>>> search_stations('macerata')
['MACERATA', 'MACERATA FONTESCODELLA']
"""
- url = 'https://www.lefrecce.it/msite/api/geolocations/locations?name=' + \
- name
+ url = LEFRECCE_LOCATIONS_URL.format(name=name)
sess = requests.Session()
sess.headers['Accept-Language'] = 'en-US'
@@ -210,8 +226,7 @@
>>> len(list_stations()) > 0
True
"""
- url = 'http://www.trenitalia.com/cms-file/common/js/themes/' + \
- 'trenitalia_2014/001/list_json.js'
+ url = LEFRECCE_STATIONS_URL
sess = requests.Session()
sess.headers['Accept-Language'] = 'en-US'