mirror of
https://gitlab.com/oeffi/public-transport-enabler.git
synced 2025-07-13 08:10:46 +00:00
Split place and name in all HTML departure queries (Hafas).
This commit is contained in:
parent
8adf98b98e
commit
bc66f03326
3 changed files with 15 additions and 14 deletions
|
@ -193,7 +193,7 @@ public class InvgProvider extends AbstractHafasProvider
|
||||||
final Matcher mHeadFine = P_DEPARTURES_HEAD_FINE.matcher(mHeadCoarse.group(1));
|
final Matcher mHeadFine = P_DEPARTURES_HEAD_FINE.matcher(mHeadCoarse.group(1));
|
||||||
if (mHeadFine.matches())
|
if (mHeadFine.matches())
|
||||||
{
|
{
|
||||||
final String location = ParserUtils.resolveEntities(mHeadFine.group(1));
|
final String[] placeAndName = splitPlaceAndName(ParserUtils.resolveEntities(mHeadFine.group(1)));
|
||||||
final Calendar currentTime = new GregorianCalendar(timeZone);
|
final Calendar currentTime = new GregorianCalendar(timeZone);
|
||||||
currentTime.clear();
|
currentTime.clear();
|
||||||
ParserUtils.parseGermanDate(currentTime, mHeadFine.group(2));
|
ParserUtils.parseGermanDate(currentTime, mHeadFine.group(2));
|
||||||
|
@ -245,9 +245,9 @@ public class InvgProvider extends AbstractHafasProvider
|
||||||
final Line line = parseLine(lineType, ParserUtils.resolveEntities(mDepFine.group(4)), false);
|
final Line line = parseLine(lineType, ParserUtils.resolveEntities(mDepFine.group(4)), false);
|
||||||
|
|
||||||
final String destinationId = mDepFine.group(5);
|
final String destinationId = mDepFine.group(5);
|
||||||
final String destinationName = ParserUtils.resolveEntities(mDepFine.group(6));
|
final String[] destinationPlaceAndName = splitPlaceAndName(ParserUtils.resolveEntities(mDepFine.group(6)));
|
||||||
final Location destination = new Location(destinationId != null ? LocationType.STATION : LocationType.ANY, destinationId,
|
final Location destination = new Location(destinationId != null ? LocationType.STATION : LocationType.ANY, destinationId,
|
||||||
null, destinationName);
|
destinationPlaceAndName[0], destinationPlaceAndName[1]);
|
||||||
|
|
||||||
final Position position = mDepFine.group(7) != null ? new Position("Gl. " + ParserUtils.resolveEntities(mDepFine.group(7)))
|
final Position position = mDepFine.group(7) != null ? new Position("Gl. " + ParserUtils.resolveEntities(mDepFine.group(7)))
|
||||||
: null;
|
: null;
|
||||||
|
@ -264,7 +264,6 @@ public class InvgProvider extends AbstractHafasProvider
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
final String[] placeAndName = splitPlaceAndName(location);
|
|
||||||
result.stationDepartures.add(new StationDepartures(new Location(LocationType.STATION, locationId, placeAndName[0], placeAndName[1]),
|
result.stationDepartures.add(new StationDepartures(new Location(LocationType.STATION, locationId, placeAndName[0], placeAndName[1]),
|
||||||
departures, null));
|
departures, null));
|
||||||
return result;
|
return result;
|
||||||
|
|
|
@ -209,7 +209,7 @@ public class SeptaProvider extends AbstractHafasProvider
|
||||||
else if (mPageCoarse.group(7) != null)
|
else if (mPageCoarse.group(7) != null)
|
||||||
return new QueryDeparturesResult(header, Status.SERVICE_DOWN);
|
return new QueryDeparturesResult(header, Status.SERVICE_DOWN);
|
||||||
|
|
||||||
final String location = ParserUtils.resolveEntities(mPageCoarse.group(1));
|
final String[] placeAndName = splitPlaceAndName(ParserUtils.resolveEntities(mPageCoarse.group(1)));
|
||||||
final Calendar currentTime = new GregorianCalendar(timeZone);
|
final Calendar currentTime = new GregorianCalendar(timeZone);
|
||||||
currentTime.clear();
|
currentTime.clear();
|
||||||
ParserUtils.parseAmericanDate(currentTime, mPageCoarse.group(2));
|
ParserUtils.parseAmericanDate(currentTime, mPageCoarse.group(2));
|
||||||
|
@ -262,9 +262,9 @@ public class SeptaProvider extends AbstractHafasProvider
|
||||||
final Line line = parseLine(lineType, ParserUtils.resolveEntities(mDepFine.group(4)), false);
|
final Line line = parseLine(lineType, ParserUtils.resolveEntities(mDepFine.group(4)), false);
|
||||||
|
|
||||||
final String destinationId = mDepFine.group(5);
|
final String destinationId = mDepFine.group(5);
|
||||||
final String destinationName = ParserUtils.resolveEntities(mDepFine.group(6));
|
final String[] destinationPlaceAndName = splitPlaceAndName(ParserUtils.resolveEntities(mDepFine.group(6)));
|
||||||
final Location destination = new Location(destinationId != null ? LocationType.STATION : LocationType.ANY, destinationId, null,
|
final Location destination = new Location(destinationId != null ? LocationType.STATION : LocationType.ANY, destinationId,
|
||||||
destinationName);
|
destinationPlaceAndName[0], destinationPlaceAndName[1]);
|
||||||
|
|
||||||
final Position position = mDepFine.group(7) != null ? new Position("Gl. " + ParserUtils.resolveEntities(mDepFine.group(7)))
|
final Position position = mDepFine.group(7) != null ? new Position("Gl. " + ParserUtils.resolveEntities(mDepFine.group(7)))
|
||||||
: null;
|
: null;
|
||||||
|
@ -281,7 +281,8 @@ public class SeptaProvider extends AbstractHafasProvider
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
result.stationDepartures.add(new StationDepartures(new Location(LocationType.STATION, stationId, null, location), departures, null));
|
result.stationDepartures.add(new StationDepartures(new Location(LocationType.STATION, stationId, placeAndName[0], placeAndName[1]),
|
||||||
|
departures, null));
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -233,7 +233,7 @@ public class ShProvider extends AbstractHafasProvider
|
||||||
else if (mHeadCoarse.group(7) != null)
|
else if (mHeadCoarse.group(7) != null)
|
||||||
return new QueryDeparturesResult(header, Status.SERVICE_DOWN);
|
return new QueryDeparturesResult(header, Status.SERVICE_DOWN);
|
||||||
|
|
||||||
final String location = ParserUtils.resolveEntities(mHeadCoarse.group(1));
|
final String[] placeAndName = splitPlaceAndName(ParserUtils.resolveEntities(mHeadCoarse.group(1)));
|
||||||
final Calendar currentTime = new GregorianCalendar(timeZone);
|
final Calendar currentTime = new GregorianCalendar(timeZone);
|
||||||
currentTime.clear();
|
currentTime.clear();
|
||||||
ParserUtils.parseGermanDate(currentTime, mHeadCoarse.group(2));
|
ParserUtils.parseGermanDate(currentTime, mHeadCoarse.group(2));
|
||||||
|
@ -266,9 +266,9 @@ public class ShProvider extends AbstractHafasProvider
|
||||||
final Line line = parseLine(lineType, ParserUtils.resolveEntities(mDepFine.group(3).trim()), false);
|
final Line line = parseLine(lineType, ParserUtils.resolveEntities(mDepFine.group(3).trim()), false);
|
||||||
|
|
||||||
final String destinationId = mDepFine.group(4);
|
final String destinationId = mDepFine.group(4);
|
||||||
final String destinationName = ParserUtils.resolveEntities(mDepFine.group(5));
|
final String[] destinationPlaceAndName = splitPlaceAndName(ParserUtils.resolveEntities(mDepFine.group(5)));
|
||||||
final Location destination = new Location(destinationId != null ? LocationType.STATION : LocationType.ANY, destinationId, null,
|
final Location destination = new Location(destinationId != null ? LocationType.STATION : LocationType.ANY, destinationId,
|
||||||
destinationName);
|
destinationPlaceAndName[0], destinationPlaceAndName[1]);
|
||||||
|
|
||||||
final Position position = mDepFine.group(6) != null ? new Position("Gl. " + ParserUtils.resolveEntities(mDepFine.group(6)))
|
final Position position = mDepFine.group(6) != null ? new Position("Gl. " + ParserUtils.resolveEntities(mDepFine.group(6)))
|
||||||
: null;
|
: null;
|
||||||
|
@ -284,7 +284,8 @@ public class ShProvider extends AbstractHafasProvider
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
result.stationDepartures.add(new StationDepartures(new Location(LocationType.STATION, stationId, null, location), departures, null));
|
result.stationDepartures.add(new StationDepartures(new Location(LocationType.STATION, stationId, placeAndName[0], placeAndName[1]),
|
||||||
|
departures, null));
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue