From 4716531e986c25ae5684b913571d2efff658d4ae Mon Sep 17 00:00:00 2001 From: Andreas Schildbach Date: Sun, 20 Dec 2020 16:23:43 +0100 Subject: [PATCH] AbstractEfaProvider: Match more 'IRE' lines. --- src/de/schildbach/pte/AbstractEfaProvider.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/de/schildbach/pte/AbstractEfaProvider.java b/src/de/schildbach/pte/AbstractEfaProvider.java index 4b421989..6e6db48d 100644 --- a/src/de/schildbach/pte/AbstractEfaProvider.java +++ b/src/de/schildbach/pte/AbstractEfaProvider.java @@ -891,6 +891,7 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider { private static final Pattern P_LINE_RE = Pattern.compile("RE ?\\d+[ab]?"); private static final Pattern P_LINE_RB = Pattern.compile("RB ?\\d+[ab]?"); private static final Pattern P_LINE_R = Pattern.compile("R ?\\d+"); + private static final Pattern P_LINE_IRE = Pattern.compile("IRE\\d+[ab]?"); private static final Pattern P_LINE_MEX = Pattern.compile("MEX\\d+[abc]?"); private static final Pattern P_LINE_S = Pattern.compile("S ?\\d+"); private static final Pattern P_LINE_S_DB = Pattern.compile("(S\\d+) \\((?:DB Regio AG)\\)"); @@ -1017,12 +1018,8 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider { return new Line(id, network, Product.REGIONAL_TRAIN, trainNum); if ("IRE".equals(trainType) || "Interregio-Express".equals(trainName)) return new Line(id, network, Product.REGIONAL_TRAIN, "IRE" + trainNum); - if ("IRE1".equals(trainNum) && trainName == null) + if (trainType == null && trainNum != null && P_LINE_IRE.matcher(trainNum).matches()) return new Line(id, network, Product.REGIONAL_TRAIN, trainNum); - if ("IRE6".equals(trainNum) && trainName == null) - return new Line(id, network, Product.REGIONAL_TRAIN, trainNum); - if ("InterRegioExpress".equals(trainName)) - return new Line(id, network, Product.REGIONAL_TRAIN, "IRE" + trainNumStr); if ("RE".equals(trainType) || "Regional-Express".equals(trainName)) return new Line(id, network, Product.REGIONAL_TRAIN, "RE" + trainNum); if (trainType == null && trainNum != null && P_LINE_RE.matcher(trainNum).matches())