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'