summaryrefslogtreecommitdiff
path: root/bvggrabber/api/actualdeparture.py
diff options
context:
space:
mode:
authorChristian Struck <christian@struck.se>2013-02-02 04:17:03 +0100
committerChristian Struck <christian@struck.se>2013-02-02 04:17:03 +0100
commite1981063359b0910614e5ea3f861a5ce1e54970d (patch)
treeced65c7d63233ced0892ed8800c01b7ccfe1d5c6 /bvggrabber/api/actualdeparture.py
parent9caefee9893048f169bc451cd9c454e0af668deb (diff)
downloadbvg-grabber-e1981063359b0910614e5ea3f861a5ce1e54970d.tar.gz
bvg-grabber-e1981063359b0910614e5ea3f861a5ce1e54970d.tar.bz2
bvg-grabber-e1981063359b0910614e5ea3f861a5ce1e54970d.zip
Added a new object to return which is easier to handle an implements a merge function if it is wished to mix actualdeparture with scheduleddeparture departures.
Diffstat (limited to 'bvggrabber/api/actualdeparture.py')
-rw-r--r--bvggrabber/api/actualdeparture.py17
1 files changed, 11 insertions, 6 deletions
diff --git a/bvggrabber/api/actualdeparture.py b/bvggrabber/api/actualdeparture.py
index 93213ef..7f091cc 100644
--- a/bvggrabber/api/actualdeparture.py
+++ b/bvggrabber/api/actualdeparture.py
@@ -24,7 +24,7 @@ class ActualDepartureQueryApi(QueryApi):
def call(self):
params = {'input': self.station_enc}
response = requests.get(ACTUAL_API_ENDPOINT, params=params)
- if response.status_code == requests.codes.ok:
+ if response.ok:
soup = BeautifulSoup(response.text)
if soup.find_all('form'):
# The station we are looking for is ambiguous or does not exist
@@ -32,16 +32,16 @@ class ActualDepartureQueryApi(QueryApi):
if stations:
# The station is ambiguous
stationlist = [s.get('value') for s in stations]
- return (False, stationlist)
+ return Response(False, stationlist)
else:
# The station does not exist
- return (False, [])
+ return Response(False, [])
else:
# The station seems to exist
result = soup.find('div', {'id': '',
'class': 'ivu_result_box'})
if result is None:
- return (False, [])
+ return Response(False, [])
rows = result.find_all('tr')
departures = []
for row in rows:
@@ -52,6 +52,11 @@ class ActualDepartureQueryApi(QueryApi):
when=td[0].text.strip(),
line=td[1].text.strip())
departures.append(dep)
- return (True, departures)
+ return Response(True, departures)
else:
- response.raise_for_status()
+ try:
+ response.raise_for_status()
+ except RequestException as e:
+ return Response(False, [], e)
+ else:
+ return Response(False, [], Exception("An unknown error occured"))