parse 'service down' for live departures

git-svn-id: https://public-transport-enabler.googlecode.com/svn/trunk@431 0924bc21-9374-b0fa-ee44-9ff1593b38f0
This commit is contained in:
andreas.schildbach@gmail.com 2011-01-04 15:10:17 +00:00
parent 9ff7897947
commit d260eacd39

View file

@ -565,7 +565,7 @@ public final class BvgProvider extends AbstractHafasProvider
+ "<a href=\"/Fahrinfo/bin/stboard\\.bin/dox/dox.*?evaId=(\\d+)&[^>]*>" // destinationId + "<a href=\"/Fahrinfo/bin/stboard\\.bin/dox/dox.*?evaId=(\\d+)&[^>]*>" // destinationId
+ "\\s*(.*?)\\s*</a>.*?" // destination + "\\s*(.*?)\\s*</a>.*?" // destination
, Pattern.DOTALL); , Pattern.DOTALL);
private static final Pattern P_DEPARTURES_LIVE_ERRORS = Pattern.compile("(Haltestelle:)"); private static final Pattern P_DEPARTURES_LIVE_ERRORS = Pattern.compile("(Haltestelle:)|(Wartungsgr&uuml;nden)");
private static final Pattern P_DEPARTURES_PLAN_ERRORS = Pattern.compile("(derzeit leider nicht bearbeitet werden)|(Wartungsarbeiten)"); private static final Pattern P_DEPARTURES_PLAN_ERRORS = Pattern.compile("(derzeit leider nicht bearbeitet werden)|(Wartungsarbeiten)");
public QueryDeparturesResult queryDepartures(final String stationId, final int maxDepartures) throws IOException public QueryDeparturesResult queryDepartures(final String stationId, final int maxDepartures) throws IOException
@ -580,6 +580,8 @@ public final class BvgProvider extends AbstractHafasProvider
{ {
if (mError.group(1) != null) if (mError.group(1) != null)
return new QueryDeparturesResult(Status.INVALID_STATION, Integer.parseInt(stationId)); return new QueryDeparturesResult(Status.INVALID_STATION, Integer.parseInt(stationId));
if (mError.group(2) != null)
return new QueryDeparturesResult(Status.SERVICE_DOWN, Integer.parseInt(stationId));
} }
// parse page // parse page