aboutsummaryrefslogtreecommitdiffstats
path: root/main/src
diff options
context:
space:
mode:
authorBananeweizen <bananeweizen@gmx.de>2012-11-18 11:00:47 +0100
committerBananeweizen <bananeweizen@gmx.de>2012-11-18 11:00:47 +0100
commit8e182617c6b115f46bb5573bc795e861b1ca64ac (patch)
treeee36c858c19cd3b9bd925c971d2bd2f3ce61d240 /main/src
parentdc6807e55be0f0d8d84cea89a7563477c42ae222 (diff)
downloadcgeo-8e182617c6b115f46bb5573bc795e861b1ca64ac.zip
cgeo-8e182617c6b115f46bb5573bc795e861b1ca64ac.tar.gz
cgeo-8e182617c6b115f46bb5573bc795e861b1ca64ac.tar.bz2
fix #980: c:geo doesn't handle unknown trackables
Diffstat (limited to 'main/src')
-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