aboutsummaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
Diffstat (limited to 'main')
-rw-r--r--main/src/cgeo/geocaching/connector/gc/GCConstants.java5
-rw-r--r--main/src/cgeo/geocaching/connector/gc/GCParser.java4
2 files changed, 9 insertions, 0 deletions
diff --git a/main/src/cgeo/geocaching/connector/gc/GCConstants.java b/main/src/cgeo/geocaching/connector/gc/GCConstants.java
index 356e9a2..69c2d5b 100644
--- a/main/src/cgeo/geocaching/connector/gc/GCConstants.java
+++ b/main/src/cgeo/geocaching/connector/gc/GCConstants.java
@@ -77,6 +77,11 @@ public final class GCConstants {
*/
public final static Pattern PATTERN_TRACKABLE_GUID = Pattern.compile("<a id=\"ctl00_ContentBody_lnkPrint\" title=\"[^\"]*\" href=\".*sheet\\.aspx\\?guid=([a-z0-9\\-]+)\"[^>]*>[^<]*</a>");
public final static Pattern PATTERN_TRACKABLE_GEOCODE = Pattern.compile("<strong>(TB[0-9A-Z]+)[^<]*</strong> to reference this item.");
+
+ // multiple error codes, depending on the search term for the trackable code
+ public final static String ERROR_TB_DOES_NOT_EXIST = "does not exist in the system";
+ public final static String ERROR_TB_ELEMENT_EXCEPTION = "ElementNotFound Exception";
+ public final static String ERROR_TB_ARITHMETIC_OVERFLOW = "operation resulted in an overflow";
/**
* some parts of the webpage don't correctly encode the name, therefore this pattern must be checked with a
* trackable name that needs HTML encoding
diff --git a/main/src/cgeo/geocaching/connector/gc/GCParser.java b/main/src/cgeo/geocaching/connector/gc/GCParser.java
index bc4b855..bc929e2 100644
--- a/main/src/cgeo/geocaching/connector/gc/GCParser.java
+++ b/main/src/cgeo/geocaching/connector/gc/GCParser.java
@@ -1259,6 +1259,10 @@ public abstract class GCParser {
return null;
}
+ if (page.contains(GCConstants.ERROR_TB_DOES_NOT_EXIST) || page.contains(GCConstants.ERROR_TB_ARITHMETIC_OVERFLOW) || page.contains(GCConstants.ERROR_TB_ELEMENT_EXCEPTION)) {
+ return null;
+ }
+
final cgTrackable trackable = new cgTrackable();
// trackable geocode