diff options
| author | Bananeweizen <bananeweizen@gmx.de> | 2011-10-23 09:45:20 +0200 |
|---|---|---|
| committer | Bananeweizen <bananeweizen@gmx.de> | 2011-10-23 09:45:20 +0200 |
| commit | c649f8dcb2d7f1431400788dc84fce1305991a70 (patch) | |
| tree | 9b928083a1942b3017100c6d1846d7b8689287ec /main/src/cgeo/geocaching/cgBase.java | |
| parent | ab0e4b1915f7574dc453253b2d8b56dda9e4c32b (diff) | |
| download | cgeo-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.java | 16 |
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; |
