mirror of
https://gitlab.com/oeffi/public-transport-enabler.git
synced 2025-07-12 22:18:48 +00:00
detection for private wlan
git-svn-id: https://public-transport-enabler.googlecode.com/svn/trunk@483 0924bc21-9374-b0fa-ee44-9ff1593b38f0
This commit is contained in:
parent
f6df2ff499
commit
1de712233d
1 changed files with 13 additions and 4 deletions
|
@ -302,8 +302,6 @@ public final class BvgProvider extends AbstractHafasProvider
|
||||||
private static final Pattern P_CHECK_ADDRESS = Pattern.compile("<option[^>]*>\\s*(.*?)\\s*</option>", Pattern.DOTALL);
|
private static final Pattern P_CHECK_ADDRESS = Pattern.compile("<option[^>]*>\\s*(.*?)\\s*</option>", Pattern.DOTALL);
|
||||||
private static final Pattern P_CHECK_FROM = Pattern.compile("Von:");
|
private static final Pattern P_CHECK_FROM = Pattern.compile("Von:");
|
||||||
private static final Pattern P_CHECK_TO = Pattern.compile("Nach:");
|
private static final Pattern P_CHECK_TO = Pattern.compile("Nach:");
|
||||||
private static final Pattern P_CHECK_CONNECTIONS_ERROR = Pattern
|
|
||||||
.compile("(zu dicht beieinander|mehrfach vorhanden oder identisch)|(keine geeigneten Haltestellen)|(keine Verbindung gefunden)|(derzeit nur Auskünfte vom)|(zwischenzeitlich nicht mehr gespeichert)");
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public QueryConnectionsResult queryConnections(final Location from, final Location via, final Location to, final Date date, final boolean dep,
|
public QueryConnectionsResult queryConnections(final Location from, final Location via, final Location to, final Date date, final boolean dep,
|
||||||
|
@ -373,6 +371,9 @@ public final class BvgProvider extends AbstractHafasProvider
|
||||||
+ "(\\d\\d:\\d\\d)-(\\d\\d:\\d\\d)</a> " // departureTime, arrivalTime
|
+ "(\\d\\d:\\d\\d)-(\\d\\d:\\d\\d)</a> " // departureTime, arrivalTime
|
||||||
+ "(?:\\d+ Umst\\.|([\\w\\d ]+)).*?" // line
|
+ "(?:\\d+ Umst\\.|([\\w\\d ]+)).*?" // line
|
||||||
, Pattern.DOTALL);
|
, Pattern.DOTALL);
|
||||||
|
private static final Pattern P_CHECK_CONNECTIONS_ERROR = Pattern.compile("(zu dicht beieinander|mehrfach vorhanden oder identisch)|"
|
||||||
|
+ "(keine geeigneten Haltestellen)|(keine Verbindung gefunden)|"
|
||||||
|
+ "(derzeit nur Auskünfte vom)|(zwischenzeitlich nicht mehr gespeichert)|(http-equiv=\"refresh\")", Pattern.CASE_INSENSITIVE);
|
||||||
|
|
||||||
private QueryConnectionsResult queryConnections(final String uri, final CharSequence page, final Location originalFrom, final Location originalTo)
|
private QueryConnectionsResult queryConnections(final String uri, final CharSequence page, final Location originalFrom, final Location originalTo)
|
||||||
throws IOException
|
throws IOException
|
||||||
|
@ -390,6 +391,8 @@ public final class BvgProvider extends AbstractHafasProvider
|
||||||
return QueryConnectionsResult.INVALID_DATE;
|
return QueryConnectionsResult.INVALID_DATE;
|
||||||
if (mError.group(5) != null)
|
if (mError.group(5) != null)
|
||||||
throw new SessionExpiredException();
|
throw new SessionExpiredException();
|
||||||
|
if (mError.group(6) != null)
|
||||||
|
throw new IOException("connected to private wlan");
|
||||||
}
|
}
|
||||||
|
|
||||||
final Matcher mHead = P_CONNECTIONS_HEAD.matcher(page);
|
final Matcher mHead = P_CONNECTIONS_HEAD.matcher(page);
|
||||||
|
@ -620,8 +623,10 @@ 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:)|(Wartungsgründen)");
|
private static final Pattern P_DEPARTURES_LIVE_ERRORS = Pattern.compile("(Haltestelle:)|(Wartungsgründen)|(http-equiv=\"refresh\")",
|
||||||
private static final Pattern P_DEPARTURES_PLAN_ERRORS = Pattern.compile("(derzeit leider nicht bearbeitet werden)|(Wartungsarbeiten)");
|
Pattern.CASE_INSENSITIVE);
|
||||||
|
private static final Pattern P_DEPARTURES_PLAN_ERRORS = Pattern.compile("(derzeit leider nicht bearbeitet werden)|(Wartungsarbeiten)|"
|
||||||
|
+ "(http-equiv=\"refresh\")", Pattern.CASE_INSENSITIVE);
|
||||||
|
|
||||||
public QueryDeparturesResult queryDepartures(final String stationId, final int maxDepartures) throws IOException
|
public QueryDeparturesResult queryDepartures(final String stationId, final int maxDepartures) throws IOException
|
||||||
{
|
{
|
||||||
|
@ -637,6 +642,8 @@ public final class BvgProvider extends AbstractHafasProvider
|
||||||
return new QueryDeparturesResult(Status.INVALID_STATION, Integer.parseInt(stationId));
|
return new QueryDeparturesResult(Status.INVALID_STATION, Integer.parseInt(stationId));
|
||||||
if (mError.group(2) != null)
|
if (mError.group(2) != null)
|
||||||
return new QueryDeparturesResult(Status.SERVICE_DOWN, Integer.parseInt(stationId));
|
return new QueryDeparturesResult(Status.SERVICE_DOWN, Integer.parseInt(stationId));
|
||||||
|
if (mError.group(3) != null)
|
||||||
|
throw new IOException("connected to private wlan");
|
||||||
}
|
}
|
||||||
|
|
||||||
// parse page
|
// parse page
|
||||||
|
@ -711,6 +718,8 @@ public final class BvgProvider extends AbstractHafasProvider
|
||||||
return new QueryDeparturesResult(Status.INVALID_STATION, Integer.parseInt(stationId));
|
return new QueryDeparturesResult(Status.INVALID_STATION, Integer.parseInt(stationId));
|
||||||
if (mError.group(2) != null)
|
if (mError.group(2) != null)
|
||||||
return new QueryDeparturesResult(Status.SERVICE_DOWN, Integer.parseInt(stationId));
|
return new QueryDeparturesResult(Status.SERVICE_DOWN, Integer.parseInt(stationId));
|
||||||
|
if (mError.group(3) != null)
|
||||||
|
throw new IOException("connected to private wlan");
|
||||||
}
|
}
|
||||||
|
|
||||||
// parse page
|
// parse page
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue