aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/cgBase.java
diff options
context:
space:
mode:
authorSamuel Tardieu <sam@rfc1149.net>2011-10-14 12:37:19 +0200
committerSamuel Tardieu <sam@rfc1149.net>2011-10-14 12:41:03 +0200
commitc5d43adaa9db1db877ea084551db74faa048a7e1 (patch)
tree61fc40db2131dca8f995847671e3563f3eb312b2 /main/src/cgeo/geocaching/cgBase.java
parentdd5a08267273242b20f6adcb5f30e16a06939b45 (diff)
downloadcgeo-c5d43adaa9db1db877ea084551db74faa048a7e1.zip
cgeo-c5d43adaa9db1db877ea084551db74faa048a7e1.tar.gz
cgeo-c5d43adaa9db1db877ea084551db74faa048a7e1.tar.bz2
Accept striked through cache names in trackable logs
This fixes the second item of issue #662.
Diffstat (limited to 'main/src/cgeo/geocaching/cgBase.java')
-rw-r--r--main/src/cgeo/geocaching/cgBase.java13
1 files changed, 7 insertions, 6 deletions
diff --git a/main/src/cgeo/geocaching/cgBase.java b/main/src/cgeo/geocaching/cgBase.java
index 6039587..7ae0931 100644
--- a/main/src/cgeo/geocaching/cgBase.java
+++ b/main/src/cgeo/geocaching/cgBase.java
@@ -120,7 +120,7 @@ public class cgBase {
private final static Pattern PATTERN_TRACKABLE_Icon = Pattern.compile("<img id=\"ctl00_ContentBody_BugTypeImage\" class=\"TravelBugHeaderIcon\" src=\"([^\"]+)\"[^>]*>", Pattern.CASE_INSENSITIVE);
private final static Pattern PATTERN_TRACKABLE_Type = Pattern.compile("<img id=\"ctl00_ContentBody_BugTypeImage\" class=\"TravelBugHeaderIcon\" src=\"[^\"]+\" alt=\"([^\"]+)\"[^>]*>", Pattern.CASE_INSENSITIVE);
private final static Pattern PATTERN_TRACKABLE_Distance = Pattern.compile("<h4[^>]*\\W*Tracking History \\(([0-9.,]+(km|mi))[^\\)]*\\)", Pattern.CASE_INSENSITIVE);
- private final static Pattern PATTERN_TRACKABLE_Log = Pattern.compile("<tr class=\"Data.+?src=\"/images/icons/([^.]+)\\.gif[^>]+>&nbsp;([^<]+)</td>.+?guid.+?>([^<]+)</a>.+?(?:guid=([^\"]+)\">([^<]+)</a>.+?)?<td colspan=\"4\">(.+?)(?:<ul.+?ul>)?\\s*</td>\\s*</tr>", Pattern.CASE_INSENSITIVE);
+ private final static Pattern PATTERN_TRACKABLE_Log = Pattern.compile("<tr class=\"Data.+?src=\"/images/icons/([^.]+)\\.gif[^>]+>&nbsp;([^<]+)</td>.+?guid.+?>([^<]+)</a>.+?(?:guid=([^\"]+)\">(<span class=\"Strike\">)?([^<]+)</.+?)?<td colspan=\"4\">(.+?)(?:<ul.+?ul>)?\\s*</td>\\s*</tr>", Pattern.CASE_INSENSITIVE);
private static final String passMatch = "(?<=[\\?&])[Pp]ass(w(or)?d)?=[^&#$]+";
@@ -1926,8 +1926,9 @@ public class cgBase {
* 2. Date
* 3. Author
* 4. Cache-GUID
- * 5. Cache-name
- * 6. Logtext
+ * 5. <ignored> (strike-through property for ancien caches)
+ * 6. Cache-name
+ * 7. Logtext
*/
while (matcherLogs.find())
{
@@ -1950,12 +1951,12 @@ public class cgBase {
} catch (ParseException e) {
}
- logDone.log = matcherLogs.group(6).trim();
+ logDone.log = matcherLogs.group(7).trim();
- if (matcherLogs.group(4) != null && matcherLogs.group(5) != null)
+ if (matcherLogs.group(4) != null && matcherLogs.group(6) != null)
{
logDone.cacheGuid = matcherLogs.group(4);
- logDone.cacheName = matcherLogs.group(5);
+ logDone.cacheName = matcherLogs.group(6);
}
trackable.getLogs().add(logDone);