diff options
author | bananeweizen <bananeweizen@gmx.de> | 2011-10-28 11:35:16 +0200 |
---|---|---|
committer | bananeweizen <bananeweizen@gmx.de> | 2011-10-28 11:35:16 +0200 |
commit | 3fc1569b831e5d6c5d12196762604e93dccff535 (patch) | |
tree | f418dc18469406dcd6bd397abae4f0af308add81 /main/src/cgeo | |
parent | 6c8840ed1165a0a0855b26f75bc63c5d7161855a (diff) | |
download | cgeo-3fc1569b831e5d6c5d12196762604e93dccff535.zip cgeo-3fc1569b831e5d6c5d12196762604e93dccff535.tar.gz cgeo-3fc1569b831e5d6c5d12196762604e93dccff535.tar.bz2 |
fix #721: event dates not parsed
Diffstat (limited to 'main/src/cgeo')
-rw-r--r-- | main/src/cgeo/geocaching/GCConstants.java | 2 | ||||
-rw-r--r-- | main/src/cgeo/geocaching/cgBase.java | 11 |
2 files changed, 9 insertions, 4 deletions
diff --git a/main/src/cgeo/geocaching/GCConstants.java b/main/src/cgeo/geocaching/GCConstants.java index 96eb519..1bfda84 100644 --- a/main/src/cgeo/geocaching/GCConstants.java +++ b/main/src/cgeo/geocaching/GCConstants.java @@ -34,7 +34,7 @@ public final class GCConstants { public final static Pattern PATTERN_OWNER = Pattern.compile("<span class=\"minorCacheDetails\">[^<]+<a href=\"[^\"]+\">([^<]+)</a></span>"); public final static Pattern PATTERN_TYPE = Pattern.compile("<img src=\"[^\"]*/WptTypes/\\d+\\.gif\" alt=\"([^\"]+?)\" title=\"[^\"]+\" width=\"32\" height=\"32\""); public final static Pattern PATTERN_HIDDEN = Pattern.compile("<span class=\"minorCacheDetails\">\\W*Hidden[\\s:]*([^<]+?)</span>"); - public final static Pattern PATTERN_HIDDENEVENT = Pattern.compile("<span[^>]*>\\W*Event\\W*Date[^:]*:([^<]*?)</span>"); + public final static Pattern PATTERN_HIDDENEVENT = Pattern.compile("Event\\s*Date\\s*:\\s*([^<]+)</span>", Pattern.DOTALL); public final static Pattern PATTERN_FAVORITE = Pattern.compile("<img src=\"/images/icons/icon_favDelete.png\" alt=\"Remove from your Favorites\" title=\"Remove from your Favorites\" />"); public final static Pattern PATTERN_FAVORITECOUNT = Pattern.compile("<a id=\"uxFavContainerLink\"[^>]+>[^<]*<div[^<]*<span class=\"favorite-value\">\\D*([0-9]+?)</span>"); public final static Pattern PATTERN_COUNTLOGS = Pattern.compile("<span id=\"ctl00_ContentBody_lblFindCounts\"><p(.+?)</p></span>"); diff --git a/main/src/cgeo/geocaching/cgBase.java b/main/src/cgeo/geocaching/cgBase.java index 836b06b..6d4c2f4 100644 --- a/main/src/cgeo/geocaching/cgBase.java +++ b/main/src/cgeo/geocaching/cgBase.java @@ -1106,11 +1106,16 @@ public class cgBase { // hidden try { - cache.hidden = parseGcCustomDate(BaseUtils.getMatch(tableInside, GCConstants.PATTERN_HIDDEN, true, null)); - + String hiddenString = BaseUtils.getMatch(tableInside, GCConstants.PATTERN_HIDDEN, true, null); + if (StringUtils.isNotBlank(hiddenString)) { + cache.hidden = parseGcCustomDate(hiddenString); + } if (cache.hidden == null) { // event date - cache.hidden = parseGcCustomDate(BaseUtils.getMatch(tableInside, GCConstants.PATTERN_HIDDENEVENT, true, null)); + hiddenString = BaseUtils.getMatch(tableInside, GCConstants.PATTERN_HIDDENEVENT, true, null); + if (StringUtils.isNotBlank(hiddenString)) { + cache.hidden = parseGcCustomDate(hiddenString); + } } } catch (ParseException e) { // failed to parse cache hidden date |