aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/cgBase.java
diff options
context:
space:
mode:
authorBananeweizen <bananeweizen@gmx.de>2011-10-23 09:45:20 +0200
committerBananeweizen <bananeweizen@gmx.de>2011-10-23 09:45:20 +0200
commitc649f8dcb2d7f1431400788dc84fce1305991a70 (patch)
tree9b928083a1942b3017100c6d1846d7b8689287ec /main/src/cgeo/geocaching/cgBase.java
parentab0e4b1915f7574dc453253b2d8b56dda9e4c32b (diff)
downloadcgeo-c649f8dcb2d7f1431400788dc84fce1305991a70.zip
cgeo-c649f8dcb2d7f1431400788dc84fce1305991a70.tar.gz
cgeo-c649f8dcb2d7f1431400788dc84fce1305991a70.tar.bz2
trackables goal and release date not correctly parsed, fixes #704
Diffstat (limited to 'main/src/cgeo/geocaching/cgBase.java')
-rw-r--r--main/src/cgeo/geocaching/cgBase.java16
1 files changed, 11 insertions, 5 deletions
diff --git a/main/src/cgeo/geocaching/cgBase.java b/main/src/cgeo/geocaching/cgBase.java
index 61eaaba..816453f 100644
--- a/main/src/cgeo/geocaching/cgBase.java
+++ b/main/src/cgeo/geocaching/cgBase.java
@@ -1718,11 +1718,14 @@ public class cgBase {
Log.w(Settings.tag, "cgeoBase.parseTrackable: Failed to parse trackable last known place");
}
- // released
+ // released date - can be missing on the page
try {
- trackable.setReleased(dateTbIn1.parse(BaseUtils.getMatch(page, GCConstants.PATTERN_TRACKABLE_RELEASES, false, null)));
- if (trackable.getReleased() == null) {
- trackable.setReleased(dateTbIn2.parse(BaseUtils.getMatch(page, GCConstants.PATTERN_TRACKABLE_RELEASES, false, null)));
+ String releaseString = BaseUtils.getMatch(page, GCConstants.PATTERN_TRACKABLE_RELEASES, false, null);
+ if (releaseString != null) {
+ trackable.setReleased(dateTbIn1.parse(releaseString));
+ if (trackable.getReleased() == null) {
+ trackable.setReleased(dateTbIn2.parse(releaseString));
+ }
}
} catch (ParseException e1) {
trackable.setReleased(null);
@@ -1731,7 +1734,10 @@ public class cgBase {
// trackable distance
try {
- trackable.setDistance(DistanceParser.parseDistance(BaseUtils.getMatch(page, GCConstants.PATTERN_TRACKABLE_DISTANCE, false, null), Settings.isUseMetricUnits()));
+ String distanceString = BaseUtils.getMatch(page, GCConstants.PATTERN_TRACKABLE_DISTANCE, false, null);
+ if (distanceString != null) {
+ trackable.setDistance(DistanceParser.parseDistance(distanceString, Settings.isUseMetricUnits()));
+ }
} catch (NumberFormatException e) {
trackable.setDistance(null);
throw e;