Try to address all problems pointed out by flake8 - 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 eedebe190eaf99b0657b9e41f27595454a93409c
(DIR) parent 90bf83ead1c0948ec8bf855a7620dcd77985d946
(HTM) Author: Leonardo Taccari <iamleot@gmail.com>
Date: Sun, 13 May 2018 23:34:25
Try to address all problems pointed out by flake8
Diffstat:
lefrecce.py | 99 ++++++++++++++++++++++++++++++++++--------------------------
1 files changed, 56 insertions(+), 43 deletions(-)
---
diff -r 90bf83ead1c0 -r eedebe190eaf lefrecce.py
--- a/lefrecce.py Sun May 13 16:26:01 2018 +0200
+++ b/lefrecce.py Sun May 13 23:34:25 2018 +0200
@@ -31,8 +31,8 @@
"""
retrieve information about trains/stations via lefrecce.it
-lefrecce is a Python script/module to retrieve information about next trains and
-stations via lefrecce.it
+lefrecce is a Python script/module to retrieve information about next trains
+and stations via lefrecce.it
"""
@@ -46,18 +46,18 @@
"""Pretty print each solution returned by solutions()."""
print('{departure} ({departure_datetime:%H:%M %d/%m/%Y}) - '
- '{arrival} ({arrival_datetime:%H:%M %d/%m/%Y}) '
- '({duration})'.format(**solution))
+ '{arrival} ({arrival_datetime:%H:%M %d/%m/%Y}) '
+ '({duration})'.format(**solution))
for train in solution['trains']:
print(' [{acronym}] {id}:\t'
- '{departure_station} ({departure_datetime:%H:%M}) - '
- '{arrival_station} ({arrival_datetime:%H:%M})'.format(**train))
+ '{departure_station} ({departure_datetime:%H:%M}) - '
+ '{arrival_station} ({arrival_datetime:%H:%M})'.format(**train))
for stop in train['stoplist']:
print(' . {station:14}\t'
- '{arrival_datetime:%H:%M} - '
- '{departure_datetime:%H:%M}'.format(**stop))
+ '{arrival_datetime:%H:%M} - '
+ '{departure_datetime:%H:%M}'.format(**stop))
def solutions(origin, destination, adate, atime, verbose=True):
@@ -121,49 +121,61 @@
+ 'adate=' + adate + '&' \
+ 'atime=' + atime + '&' \
+ 'adultno=1&childno=0&direction=A&frecce=false&onlyRegional=false'
-
+
sess = requests.Session()
sess.headers['Accept-Language'] = 'en-US'
r = sess.get(url)
j = json.loads(r.text)
-
+
for solution in j:
s = {}
s['departure'] = solution['origin']
- s['departure_datetime'] = datetime.fromtimestamp(solution['departuretime'] / 1000)
+ s['departure_datetime'] = \
+ datetime.fromtimestamp(solution['departuretime'] / 1000)
s['arrival'] = solution['destination']
- s['arrival_datetime'] = datetime.fromtimestamp(solution['arrivaltime'] / 1000)
+ s['arrival_datetime'] = \
+ datetime.fromtimestamp(solution['arrivaltime'] / 1000)
s['duration'] = solution['duration']
s['trains'] = []
-
+
if verbose:
- trains_url = 'https://www.lefrecce.it/msite/api/solutions/' + solution['idsolution'] + '/info'
+ trains_url = 'https://www.lefrecce.it/msite/api/solutions/' + \
+ solution['idsolution'] + '/info'
r = sess.get(trains_url)
trains = json.loads(r.text)
-
+
for train in trains:
stoplist = []
if 'stoplist' in train:
for stop in train['stoplist']:
- if stop['departuretime'] == None:
+ if stop['departuretime'] is None:
stop['departuretime'] = stop['arrivaltime']
- if stop['arrivaltime'] == None:
+ if stop['arrivaltime'] is None:
stop['arrivaltime'] = stop['departuretime']
-
+
stoplist.append({
- 'departure_datetime': datetime.fromtimestamp(stop['departuretime'] / 1000),
- 'arrival_datetime': datetime.fromtimestamp(stop['arrivaltime'] / 1000),
- 'station': stop['stationname'].lower().capitalize(),
+ 'departure_datetime':
+ datetime.fromtimestamp(
+ stop['departuretime'] / 1000),
+ 'arrival_datetime':
+ datetime.fromtimestamp(
+ stop['arrivaltime'] / 1000),
+ 'station':
+ stop['stationname'].lower().capitalize(),
})
-
+
s['trains'].append({
- 'acronym': train['trainacronym'],
- 'id': train['trainidentifier'],
- 'departure_station': train['departurestation'].lower().capitalize(),
- 'departure_datetime': datetime.fromtimestamp(train['departuretime'] / 1000),
- 'arrival_station': train['arrivalstation'].lower().capitalize(),
- 'arrival_datetime': datetime.fromtimestamp(train['arrivaltime'] / 1000),
- 'stoplist': stoplist,
+ 'acronym': train['trainacronym'],
+ 'id': train['trainidentifier'],
+ 'departure_station':
+ train['departurestation'].lower().capitalize(),
+ 'departure_datetime':
+ datetime.fromtimestamp(train['departuretime'] / 1000),
+ 'arrival_station':
+ train['arrivalstation'].lower().capitalize(),
+ 'arrival_datetime':
+ datetime.fromtimestamp(train['arrivaltime'] / 1000),
+ 'stoplist': stoplist,
})
yield s
@@ -178,8 +190,8 @@
['MACERATA', 'MACERATA FONTESCODELLA']
"""
url = 'https://www.lefrecce.it/msite/api/geolocations/locations?name=' + \
- name
-
+ name
+
sess = requests.Session()
sess.headers['Accept-Language'] = 'en-US'
r = sess.get(url)
@@ -198,7 +210,8 @@
>>> len(list_stations()) > 0
True
"""
- url = 'http://www.trenitalia.com/cms-file/common/js/themes/trenitalia_2014/001/list_json.js'
+ url = 'http://www.trenitalia.com/cms-file/common/js/themes/' + \
+ 'trenitalia_2014/001/list_json.js'
sess = requests.Session()
sess.headers['Accept-Language'] = 'en-US'
@@ -219,17 +232,18 @@
import argparse
import sys
- ap = argparse.ArgumentParser(description='Retrieve information from lefrecce.it')
+ ap = argparse.ArgumentParser(
+ description='Retrieve information from lefrecce.it')
ap.add_argument('-S', action='store_true', help='List all stations')
ap.add_argument('-s', metavar='search_station', type=str)
- ap.add_argument('-o', metavar='origin', type=str, \
- help='origin station')
- ap.add_argument('-d', metavar='destination', type=str, \
- help='destination station')
- ap.add_argument('-a', metavar='adate', type=str, \
- help='arrival date')
- ap.add_argument('-t', metavar='atime', type=str, \
- help='arrival time')
+ ap.add_argument('-o', metavar='origin', type=str,
+ help='origin station')
+ ap.add_argument('-d', metavar='destination', type=str,
+ help='destination station')
+ ap.add_argument('-a', metavar='adate', type=str,
+ help='arrival date')
+ ap.add_argument('-t', metavar='atime', type=str,
+ help='arrival time')
ap.add_argument('-q', action='store_true', help='silent output')
args = ap.parse_args()
@@ -257,6 +271,5 @@
ap.print_usage()
sys.exit(1)
- origin, destination, adate, atime = args.o, args.d, args.a, args.t
- for s in solutions(origin, destination, adate, atime, verbose=(not args.q)):
+ for s in solutions(args.o, args.d, args.a, args.t, verbose=(not args.q)):
print_solution(s)