From 2ae8be945b7a62c828fd1d6573eb9324c11b6c33 Mon Sep 17 00:00:00 2001 From: "andreas.schildbach@gmail.com" Date: Sun, 6 Mar 2011 18:28:21 +0000 Subject: [PATCH] return simple positions git-svn-id: https://public-transport-enabler.googlecode.com/svn/trunk@526 0924bc21-9374-b0fa-ee44-9ff1593b38f0 --- src/de/schildbach/pte/AbstractEfaProvider.java | 10 ++++++---- src/de/schildbach/pte/BahnProvider.java | 8 ++++---- src/de/schildbach/pte/BvgProvider.java | 4 ++-- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/de/schildbach/pte/AbstractEfaProvider.java b/src/de/schildbach/pte/AbstractEfaProvider.java index 3786eeb3..211f0c2b 100644 --- a/src/de/schildbach/pte/AbstractEfaProvider.java +++ b/src/de/schildbach/pte/AbstractEfaProvider.java @@ -1568,7 +1568,7 @@ public abstract class AbstractEfaProvider implements NetworkProvider return Currency.getInstance(currencyStr); } - private static final Pattern P_PLATFORM_GLEIS = Pattern.compile("Gleis (\\d+[a-z]?)(?: ([A-Z])\\s*-\\s*([A-Z]))?"); + private static final Pattern P_PLATFORM_GLEIS = Pattern.compile("(Gleis|Bstg\\.)\\s*(\\d+[a-z]?)(?: ([A-Z])\\s*-\\s*([A-Z]))?"); private static final String normalizePlatform(final String platform, final String platformName) { @@ -1577,10 +1577,12 @@ public abstract class AbstractEfaProvider implements NetworkProvider final Matcher mGleis = P_PLATFORM_GLEIS.matcher(platformName); if (mGleis.matches()) { - if (mGleis.group(2) == null) - return "Gl. " + mGleis.group(1); + if (mGleis.group(3) == null) + return mGleis.group(2); + else if (mGleis.group(1).equals("Gleis")) + return "Gl. " + mGleis.group(2) + " " + mGleis.group(3) + "-" + mGleis.group(4); else - return "Gl. " + mGleis.group(1) + " " + mGleis.group(2) + "-" + mGleis.group(3); + return mGleis.group(1) + " " + mGleis.group(2) + " " + mGleis.group(3) + "-" + mGleis.group(4); } else { diff --git a/src/de/schildbach/pte/BahnProvider.java b/src/de/schildbach/pte/BahnProvider.java index 54e5dd2e..362fde42 100644 --- a/src/de/schildbach/pte/BahnProvider.java +++ b/src/de/schildbach/pte/BahnProvider.java @@ -291,11 +291,11 @@ public final class BahnProvider extends AbstractHafasProvider + "(?:" // + "\\s*(.+?)\\s*.*?" // line + "ab\\s+(?:]*>.*?)?\\s*(\\d{1,2}:\\d{2})\\s*(?:]*>.*?)?" // departureTime - + "\\s*(Gl\\. .+?)?\\s*\n" // departurePosition + + "\\s*(?:Gl\\. (.+?))?\\s*\n" // departurePosition + "am\\s+(\\d{2}\\.\\d{2}\\.\\d{2}).*?" // departureDate + "\\s*(.+?)\\s*
.*?" // arrival + "an\\s+(?:]*>.*?)?\\s*(\\d{1,2}:\\d{2})\\s*(?:]*>.*?)?" // arrivalTime - + "\\s*(Gl\\. .+?)?\\s*\n" // arrivalPosition + + "\\s*(?:Gl\\. (.+?))?\\s*\n" // arrivalPosition + "am\\s+(\\d{2}\\.\\d{2}\\.\\d{2}).*?" // arrivalDate + "|" // + "(\\d+) Min\\..*?" // footway @@ -355,7 +355,7 @@ public final class BahnProvider extends AbstractHafasProvider final Date departureTime = ParserUtils.parseTime(mDetFine.group(3)); - final String departurePosition = mDetFine.group(4) != null ? ParserUtils.resolveEntities(mDetFine.group(4)) : null; + final String departurePosition = ParserUtils.resolveEntities(mDetFine.group(4)); final Date departureDate = ParserUtils.parseDate(mDetFine.group(5)); @@ -363,7 +363,7 @@ public final class BahnProvider extends AbstractHafasProvider final Date arrivalTime = ParserUtils.parseTime(mDetFine.group(7)); - final String arrivalPosition = mDetFine.group(8) != null ? ParserUtils.resolveEntities(mDetFine.group(8)) : null; + final String arrivalPosition = ParserUtils.resolveEntities(mDetFine.group(8)); final Date arrivalDate = ParserUtils.parseDate(mDetFine.group(9)); diff --git a/src/de/schildbach/pte/BvgProvider.java b/src/de/schildbach/pte/BvgProvider.java index ddc3e945..f18432a8 100644 --- a/src/de/schildbach/pte/BvgProvider.java +++ b/src/de/schildbach/pte/BvgProvider.java @@ -436,11 +436,11 @@ public final class BvgProvider extends AbstractHafasProvider + ")?.*?" // + "(?:" // + "ab (\\d+:\\d+)\n" // departureTime - + "(Gl\\. \\d+)?.*?" // departurePosition + + "(?:Gl\\. (.+?))?.*?" // departurePosition + "\\s*(.*?)\\s*.*?" // line + "Ri\\. (.*?)[\n\\.]*<.*?" // destination + "an (\\d+:\\d+)\n" // arrivalTime - + "(Gl\\. \\d+)?.*?" // arrivalPosition + + "(?:Gl\\. (.+?))?.*?" // arrivalPosition + "\n" // arrivalId + "([^<]*)" // arrivalName + "|" //