diff options
| author | Samuel Tardieu <sam@rfc1149.net> | 2013-01-01 13:04:20 +0100 |
|---|---|---|
| committer | Samuel Tardieu <sam@rfc1149.net> | 2013-01-01 13:04:20 +0100 |
| commit | 73a660f2b676d85f82fa1ea41412fbdbfb50612e (patch) | |
| tree | cfd53bbc8520575ea5b0fad09dba5a8c7a6c3c01 /main/src | |
| parent | 2964a86a5ab8baa9571f66e4ee2825da2c444b71 (diff) | |
| download | cgeo-73a660f2b676d85f82fa1ea41412fbdbfb50612e.zip cgeo-73a660f2b676d85f82fa1ea41412fbdbfb50612e.tar.gz cgeo-73a660f2b676d85f82fa1ea41412fbdbfb50612e.tar.bz2 | |
fix #2312: not all hint pictures are shown
Only "jpg" and "jpeg" extensions were recognized. Other image extensions
can be used, so recognize "png" and "gif" as well.
The regexp could probably be extended to accept arbitrary names, but
there is a risk of treating some non-pictures as false positives.
Diffstat (limited to 'main/src')
| -rw-r--r-- | main/src/cgeo/geocaching/connector/gc/GCConstants.java | 2 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/connector/gc/GCParser.java | 8 |
2 files changed, 5 insertions, 5 deletions
diff --git a/main/src/cgeo/geocaching/connector/gc/GCConstants.java b/main/src/cgeo/geocaching/connector/gc/GCConstants.java index 4745d90..2b4ca46 100644 --- a/main/src/cgeo/geocaching/connector/gc/GCConstants.java +++ b/main/src/cgeo/geocaching/connector/gc/GCConstants.java @@ -56,7 +56,7 @@ public final class GCConstants { public final static Pattern PATTERN_ATTRIBUTES = Pattern.compile("<h3 class=\"WidgetHeader\">.+?Attributes</h3>[^<]*<div class=\"WidgetBody\">((?:[^<]*<img src=\"[^\"]+\" alt=\"[^\"]+\"[^>]*>)+?)[^<]*<p"); /** Two groups ! */ public final static Pattern PATTERN_ATTRIBUTESINSIDE = Pattern.compile("[^<]*<img src=\"([^\"]+)\" alt=\"([^\"]+?)\""); - public final static Pattern PATTERN_SPOILER_IMAGE = Pattern.compile("<a href=\"(http://img\\.geocaching\\.com/cache/[^.]+\\.jpe?g)\"[^>]+><img[^>]+><span>([^<]+)</span></a>(?:<br />([^<]+)<br /><br />)?"); + public final static Pattern PATTERN_SPOILER_IMAGE = Pattern.compile("<a href=\"(http://img\\.geocaching\\.com/cache/[^.]+\\.(jpg|jpeg|png|gif))\"[^>]+><img[^>]+><span>([^<]+)</span></a>(?:<br />([^<]+)<br /><br />)?"); public final static Pattern PATTERN_INVENTORY = Pattern.compile("<span id=\"ctl00_ContentBody_uxTravelBugList_uxInventoryLabel\">\\W*Inventory[^<]*</span>[^<]*</h3>[^<]*<div class=\"WidgetBody\">([^<]*<ul>(([^<]*<li>[^<]*<a href=\"[^\"]+\"[^>]*>[^<]*<img src=\"[^\"]+\"[^>]*>[^<]*<span>[^<]+<\\/span>[^<]*<\\/a>[^<]*<\\/li>)+)[^<]*<\\/ul>)?"); public final static Pattern PATTERN_INVENTORYINSIDE = Pattern.compile("[^<]*<li>[^<]*<a href=\"[a-z0-9\\-\\_\\.\\?\\/\\:\\@]*\\/track\\/details\\.aspx\\?guid=([0-9a-z\\-]+)[^\"]*\"[^>]*>[^<]*<img src=\"[^\"]+\"[^>]*>[^<]*<span>([^<]+)<\\/span>[^<]*<\\/a>[^<]*<\\/li>"); public final static Pattern PATTERN_WATCHLIST = Pattern.compile(Pattern.quote("watchlist.aspx") + ".{1,50}" + Pattern.quote("action=rem")); diff --git a/main/src/cgeo/geocaching/connector/gc/GCParser.java b/main/src/cgeo/geocaching/connector/gc/GCParser.java index 895a9c8..7fc06c1 100644 --- a/main/src/cgeo/geocaching/connector/gc/GCParser.java +++ b/main/src/cgeo/geocaching/connector/gc/GCParser.java @@ -539,12 +539,12 @@ public abstract class GCParser { String url = matcherSpoilersInside.group(1).replace("/display", ""); String title = null; - if (matcherSpoilersInside.group(2) != null) { - title = matcherSpoilersInside.group(2); + if (matcherSpoilersInside.group(3) != null) { + title = matcherSpoilersInside.group(3); } String description = null; - if (matcherSpoilersInside.group(3) != null) { - description = matcherSpoilersInside.group(3); + if (matcherSpoilersInside.group(4) != null) { + description = matcherSpoilersInside.group(4); } cache.addSpoiler(new cgImage(url, title, description)); } |
