diff options
Diffstat (limited to 'main')
| -rw-r--r-- | main/src/cgeo/geocaching/connector/gc/GCConstants.java | 5 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/connector/gc/GCParser.java | 4 |
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 |
