aboutsummaryrefslogtreecommitdiffstats
path: root/main/src
diff options
context:
space:
mode:
authorSamuel Tardieu <sam@rfc1149.net>2013-01-01 13:04:20 +0100
committerSamuel Tardieu <sam@rfc1149.net>2013-01-01 13:04:20 +0100
commit73a660f2b676d85f82fa1ea41412fbdbfb50612e (patch)
treecfd53bbc8520575ea5b0fad09dba5a8c7a6c3c01 /main/src
parent2964a86a5ab8baa9571f66e4ee2825da2c444b71 (diff)
downloadcgeo-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.java2
-rw-r--r--main/src/cgeo/geocaching/connector/gc/GCParser.java8
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));
}